业务请求响应方法、装置、计算机设备和存储介质与流程

文档序号:17160622发布日期:2019-03-20 00:39阅读:211来源:国知局
业务请求响应方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种业务请求响应方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,在线业务办理越来越多,比如用户可以借助于终端在线自主办理业务。目前,为了更有效的响应业务请求,将在线办理业务的各个流程步骤配置成数据库中的多个任务。

然而,若服务器接收到业务请求时每次都从数据库中查询任务,会降低业务请求响应效率,尤其是当在线办理业务的用户较多时,会频繁的从数据库中查询任务,从而进一步降低了业务请求响应效率,存在业务请求响应效率低的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高业务请求响应效率的业务请求响应方法、装置、计算机设备和存储介质。

一种业务请求响应方法,所述方法包括:

接收终端发送的业务请求;所述业务请求携带有产品标识和业务节点标识;

在缓存中查询与所述产品标识对应的候选业务节点标识,并从所述候选业务节点标识中筛选与所述业务节点标识相匹配的目标业务节点标识;

根据所述目标业务节点标识在所述缓存中查询相应的任务标识;

当在所述缓存中查询到所述任务标识时,根据所述任务标识在缓存中查询相应的排序号;

根据所述排序号的顺序依次执行与任务标识对应的任务;

当执行完毕时,将任务执行结果反馈至所述终端。

在其中一个实施例中,所述根据所述排序号的顺序依次执行与任务标识对应的任务,包括:

获取当前未执行的任务序列对应的排序号序列;

从所述排序号序列中选取序号最大值的排序号;

执行所述序号最大值的排序号所对应的任务,并作为当前执行任务;

当当前执行任务执行失败时,停止执行所述获取当前未执行的任务序列对应的排序号序列的步骤;

将所述当前执行任务对应的任务执行结果反馈至所述终端;

当当前执行任务执行成功时,返回所述获取当前未执行的任务序列对应的排序号序列的步骤继续执行,直至当前未执行的任务序列中的任务均执行完毕。

在其中一个实施例中,所述根据所述排序号的顺序依次执行与任务标识对应的任务之前,所述方法还包括:

当在所述缓存中没有查询到所述任务标识时,在数据库中查询与所述产品标识对应的数据表;

在所述数据表中查询与所述业务节点标识对应的任务标识,以及与所述任务标识对应的排序号。

在其中一个实施例中,所述在所述数据表中查询与所述业务节点标识对应的任务标识,以及与所述任务标识对应的排序号之后,所述方法还包括:

当在所述数据表中查询到所述任务标识和所述排序号时,将所述产品标识和所述业务节点标识,以及对应查询到的所述任务标识和所述排序号对应缓存在所述缓存中。

在其中一个实施例中,所述方法还包括:

统计所述任务标识和所述排序号所对应的缓存时间;

当所述缓存时间达到预设缓存更新时间时,根据相应的产品标识和业务节点标识在所述数据库中,对应查询目标任务标识和目标排序号;

根据所述目标任务标识和所述目标排序号,对应更新所述缓存中与所述产品标识和所述业务节点标识对应缓存的所述任务标识和所述排序号。

在其中一个实施例中,所述接收终端发送的业务请求之后,所述方法还包括:

将所述产品标识与预设产品标识列表进行匹配;

当匹配成功时,将所述产品标识和所述业务节点标识发送至缓存服务器;

接收所述缓存服务器针对所述产品标识和所述业务节点标识对应反馈的任务标识,以及与所述任务标识对应的排序号。

在其中一个实施例中,所述将所述产品标识和所述业务节点标识发送至缓存服务器,包括:

从多个候选缓存服务器中选择缓存服务器;

将所述产品标识和所述业务节点标识发送至选择的所述缓存服务器。

一种业务请求响应装置,所述装置包括:

接收模块,用于接收终端发送的业务请求;所述业务请求携带有产品标识和业务节点标识;

查询模块,用于在缓存中查询与所述产品标识对应的候选业务节点标识,并从所述候选业务节点标识中筛选与所述业务节点标识相匹配的目标业务节点标识;

所述查询模块,还用于根据所述目标业务节点标识在所述缓存中查询相应的任务标识;

所述查询模块,还用于当在所述缓存中查询到所述任务标识时,根据所述任务标识在缓存中查询相应的排序号;

任务执行模块,用于根据所述排序号的顺序依次执行与任务标识对应的任务;

反馈模块,用于当执行完毕时,将任务执行结果反馈至所述终端。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的业务请求响应方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的业务请求响应方法的步骤。

上述业务请求响应方法、装置、计算机设备和存储介质,根据终端发送的业务请求获取相应的产品标识和业务节点标识,根据产品标识在缓存中查询相应的候选业务节点标识,并从候选业务节点标识中筛选与业务节点标识相匹配的目标业务节点标识,进而根据目标业务节点标识在缓存中查询相应的任务标识。当在缓存中查询到任务标识时根据所查询到的任务标识在缓存中查询相应的排序号,进而根据所查询到的排序号的顺序依次执行相应的任务,从而完成对业务请求的响应过程,并将相应的响应结果反馈至终端。这样,在业务请求的响应过程中,自动从缓存中查询相应的任务标识和排序号,并依据排序号依次执行相应的任务,提高了任务标识和排序号的查询效率,从而提高了业务请求的响应效率。

附图说明

图1为一个实施例中业务请求响应方法的应用场景图;

图2为一个实施例中业务请求响应方法的流程示意图;

图3为另一个实施例中业务请求响应方法的流程示意图;

图4为一个实施例中业务请求响应装置的结构框图;

图5为另一个实施例中业务请求响应装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的业务请求响应方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104接收终端发送的携带有产品标识和业务节点标识的业务请求,根据产品标识在缓存中查询相应的候选业务节点标识,并从候选业务节点标识中筛选与业务节点标识相匹配的目标业务节点标识,进而根据目标业务节点标识在缓存中查询相应的任务标识。当在缓存中查询到任务标识时,在缓存中查询该任务标识所对应的排序号,进而根据排序号的顺序依次执行相应任务标识所对应的任务,并当依次执行的任务执行完毕时,将相应的任务执行结果反馈至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种业务请求响应方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

s202,接收终端发送的业务请求;业务请求携带有产品标识和业务节点标识。

其中,业务请求是用于指示服务器触发并执行指定产品下的指定业务节点所对应的业务办理子流程的请求。业务请求中可携带有产品标识和业务节点标识。在本实施例中,业务具体可以是借贷业务,业务流程具体可以是借贷业务办理流程,即借贷流程。

产品标识用于唯一标识产品。产品标识可以是由汉字、数字、字母和符号等字符中的至少一种组成的字符串,比如可以是产品的名称。产品与当前办理的业务相对应,产品具体可以是借贷产品,产品标识具体可以是借贷产品标识。业务节点标识用于唯一标识业务节点。产品标识可以是由汉字、数字、字母和符号等字符中的至少一种组成的字符串。业务节点是产品对应的业务办理流程中所包括的业务办理子流程所对应的功能节点。一个产品所对应的业务办理流程可包括多个业务办理子流程,不同产品所对应的业务办理流程可包括不同的业务办理子流程。换而言之,一个产品可对应有多个业务节点,不同产品可对应有不同的业务节点。

举例说明,产品具体可对应有申请认证业务节点、绑卡业务节点、添加联系人业务节点、人脸识别业务节点、内部审核业务节点和签约业务节点等多个业务节点。

具体地,终端检测用户的指定触发操作,当检测到指定触发操作时,根据所检测到的指定触发操作获取相应的产品标识和业务节点标识,并根据所获取到的产品标识和业务节点标识生成相应的业务请求,并将所生成的业务请求通过指定网页或指定客户端发送至服务器。服务器解析所接收到的业务请求,获得相应的产品标识和业务节点标识。指定触发操作比如用户对指定触发控件的触发操作,或者用户在指定界面的点击、滑动或长按等操作。

在一个实施例中,终端根据所检测到的指定触发操作生成相应的业务请求,并将所生成的业务请求通过有线或无线的方式发送至服务器。服务器根据所接收到的业务请求从终端获取相应的产品标识和业务节点标识。服务器可根据所接收到的业务请求主动从终端获取相应的产品标识和业务节点标识。服务器也可根据所接收到的业务请求生成相应的标识获取请求,将所生成的标识获取请求发送至终端,并接收终端针对标识获取请求对应反馈的产品标识和业务节点标识。

在一个实施例中,服务器根据所接收到的业务请求查询并调用相应的业务办理程序,获得相应的产品标识和业务节点标识。

在一个实施例中,服务器根据业务请求所对应的产品标识和业务节点标识,对应确定终端当前请求办理的是针对哪个产品的业务,以及具体是针对该产品下的哪个业务节点触发的业务办理子流程。

s204,在缓存中查询与产品标识对应的候选业务节点标识,并从候选业务节点标识中筛选与业务节点标识相匹配的目标业务节点标识。

s206,根据目标业务节点标识在缓存中查询相应的任务标识。

其中,候选业务节点标识是与产品标识对应缓存、且可能与业务请求中所携带的业务节点标识相匹配的业务节点标识。缓存是用于临时存储数据的存储空间。任务标识用于唯一标识任务。任务标识具体可以是由数字、字母和符号等中的至少一种组成的字符串。任务与业务办理子流程中的业务流程步骤相对应。每个产品标识可对应有多个业务节点标识,每个业务节点标识可对应有多个任务标识。换而言之,每个业务办理流程可对应有多个业务办理子流程,每个业务办理子流程可对应有多个业务流程步骤,每个业务流程步骤可封装成相应的任务,并生成相应的任务标识。业务流程步骤可通过执行相应的任务来实现。

具体地,服务器根据业务请求中所携带的产品标识和业务节点标识,在缓存中查询与该产品标识和业务节点标识均对应的任务标识。服务器根据业务请求中所携带的产品标识在缓存中查询相应的候选业务节点标识,在所查询到的候选业务节点标识筛选中与业务节点标识相匹配的目标业务节点标识。当筛选出与业务节点标识相匹配的目标业务节点标识时,根据筛选出的目标业务节点标识在缓存中查询相应的任务标识。

s208,当在缓存中查询到任务标识时,根据任务标识在缓存中查询相应的排序号。

其中,排序号是指相应任务标识在同一业务节点标识所对应的多个任务标识中的排序编号。对于与同一业务节点标识对应的多个任务标识,按照各个任务标识各自对应的业务流程步骤执行的先后顺序,对该多个任务标识进行排序,并确定相应的排序号。排序号可用于表征同一业务节点标识所对应的多个任务执行的先后顺序。在本实施例中,在同一业务节点标识所对应的多个任务标识中,任意相邻两个任务标识各自对应的排序号可以是互不相邻的两个数值,以便于当需要在业务节点标识所对应的任意相邻两个业务流程步骤之间新增业务流程步骤时,可直接在数据库中配置与该业务节点标识对应、且与新增业务流程步骤对应的任务标识,并配置与该新配置的任务标识对应的排序号。

同一业务节点标识可与多个产品标识相对应,同一个任务标识可与多个业务节点标识相对应。换而言之,不同产品可对应有相同的业务办理子流程,不同的业务办理子流程可对应的相同的业务流程步骤。同一业务办理子流程在不同产品下对应的业务节点标识可以相同也可以不同,同一业务流程步骤所对应的任务标识在不同业务节点标识下对应的排序号可以相同也可以不同。

举例说明,产品标识s对应有业务节点标识x、y和z,业务节点标识x对应有任务标识a、b和c,业务节点标识y对应有任务标识d、b和e,业务节点标识z对应有任务标识f、g和b。按照各个业务节点标识各自对应的业务流程步骤执行的先后顺序和业务流程步骤的数量,可分别确定各个业务节点标识所对应的每个任务标识额排序号。比如,业务节点标识x对应的任务标识a、b和c所对应的排序号分别为85、60和32;业务节点标识y对应的任务标识d、b和e所对应的排序号分别为80、42和20;业务节点标识z对应的任务标识f、g和b所对应的排序号分别为90、86和60。

具体地,当在缓存中查询到与产品标识和业务节点标识对应的任务标识时,表明缓存中预先缓存有该产品标识和业务节点标识所对应的任务标识,服务器根据所查询到的任务标识在缓存中查询与该任务标识对应的排序号。服务器根据所查询到的任务标识,在缓存中对应查询该任务标识与排序号之间的对应关系,根据所查询到的对应关系确定该任务标识所对应的排序号。

在一个实施例中,服务器根据所获取到的产品标识和业务节点标识在缓存中查询相应的多个任务标识,以及每个任务标识所对应的排序号。

在一个实施例中,服务器按照上述方式确定当前所要执行的是哪个产品下的哪个业务节点所对应的业务办理子流程时,根据产品标识和业务节点标识查询相应的任务标识,以通过执行该任务标识所对应的任务来实现所确定的业务办理子流程。

s210,根据排序号的顺序依次执行与任务标识对应的任务。

具体地,服务器根据所查询到的各个排序号的先后顺序,依次查询与相应排序号对应的任务标识所对应的任务,并对应执行所查询到的任务。服务器在按照排序号的顺序依次查询并执行相应任务标识所对应的任务的过程中,在当前执行的任务所对应的任务执行结果符合预设执行条件时,服务器按照排序号的先后顺序继续执行查询并执行相应任务标识所对应的任务的相关步骤,直至该业务节点标识所对应的多个任务标识各自对应的任务均执行完毕时,表明针对业务请求的多个任务均执行完毕。其中,预设执行条件具体可以是当前执行的任务执行成功,即在当前执行的任务执行成功时,服务器按照排序号的先后顺序继续执行查询并执行相应任务标识所对应的任务的相关步骤。排序号的先后顺序具体可以是按照排序号的大小确定的先后顺序。

举例说明,假设根据产品标识和业务节点标识在缓存中查询到任务标识a、b和c,以及该三个任务标识各自对应的排序号80、60和50,则按照排序号的顺序依次执行任务标识a、b和c各自对应的任务。

在一个实施例中,在根据排序号的顺序依次执行与相应任务标识对应的任务的过程中,服务器从当前未执行相应任务的排序号中选取最大的排序号,并执行与该最大的排序号对应的任务标识所对应的任务。在当前执行的任务执行成功时,返回从当前未执行相应任务的排序号中选取最大的排序号的步骤继续执行,直至所查询到的排序号所对应的任务均执行完毕。

在一个实施例中,不同产品可对应有不同的业务节点,相同业务节点在不同产品下可对应有不同的任务。换而言之,不同产品下的同一业务节点所对应的业务办理子流程可能不同,按照预定义的顺序执行预配置的任务来实现相应的业务办理子流程。

s212,当执行完毕时,将任务执行结果反馈至终端。

其中,任务执行结果是指任务执行完毕时对应生成的执行结果。任务执行结果具体可以是用于表征任务执行成功或执行失败的结果。在本实施例中,任务执行结果具体可以是在业务节点标识对应的多个任务均执行完毕时,对应生成的与该业务节点标识对应的执行结果。

具体地,当根据排序号的顺序依次执行的任务均执行完毕时,表明相应业务节点标识所对应的多个任务标识各自对应的任务均执行完毕,服务器根据该多个任务标识各自对应的任务执行结果确定相应业务节点标识所对应的任务执行结果,并将所确定的、与业务节点标识对应的任务执行结果反馈至终端,以通过终端将该任务执行结果展示给相应的用户。进一步地,服务器将业务节点标识所对应的任务执行结果反馈至终端时,可将与该业务节点标识相关的业务办理信息对应反馈至终端进行展示。

在一个实施例中,在根据排序号的顺序依次执行与相应任务标识对应的任务的过程中,当按照排序号的顺序最后执行的任务执行完毕时,服务器根据该最后执行的任务所对应的任务执行结果,对应确定相应业务节点标识所对应的任务执行结果,并将所确定的任务执行结果反馈至终端。在一个实施例中,服务器将根据最后执行的任务所对应的任务执行结果,对应确定的与业务节点标识对应的任务执行结果,以及各个任务各自对应的任务执行结果反馈至终端。

在一个实施例中,当依次执行的任务均执行完毕、且每个任务所对应的任务执行结果均符合预设执行条件时,比如任务执行结果为true时,服务器触发生成与业务节点标识对应的、表示任务执行成功的提示信息,并将所生成的提示信息反馈至终端。

上述业务请求响应方法,根据终端发送的业务请求获取相应的产品标识和业务节点标识,根据产品标识在缓存中查询相应的候选业务节点标识,并从候选业务节点标识中筛选与业务节点标识相匹配的目标业务节点标识,进而根据目标业务节点标识在缓存中查询相应的任务标识。当在缓存中查询到任务标识时根据所查询到的任务标识在缓存中查询相应的排序号,进而根据所查询到的排序号的顺序依次执行相应的任务,从而完成对业务请求的响应过程,并将相应的响应结果反馈至终端。这样,在业务请求的响应过程中,自动从缓存中查询相应的任务标识和排序号,并依据排序号依次执行相应的任务,提高了任务标识和排序号的查询效率,从而提高了业务请求的响应效率。

在一个实施例中,步骤s210包括:获取当前未执行的任务序列对应的排序号序列;从排序号序列中选取序号最大值的排序号;;执行序号最大值的排序号所对应的任务,并作为当前执行任务;当当前执行任务执行失败时,停止执行获取当前未执行的任务序列对应的排序号序列的步骤;将当前执行任务对应的任务执行结果反馈至终端;当当前执行任务执行成功时,返回获取当前未执行的任务序列对应的排序号序列的步骤继续执行,直至当前未执行的任务序列中的任务均执行完毕。

其中,任务序列是由多个任务按照预设排列顺序组成的任务集合。任务序列具体可以是由多个当前未执行的任务按照预设排列顺序组成的任务集合。预设排列顺序比如按照排序号的大小顺序对相应任务进行排序。排序号序列是由多个排序号按照各排序号的大小顺序排列组成的排序号集合。序号最大值是指排序编号的最大值。序号最大值的排序号是指排序号序列中排序编号的最大值所对应的排序号。

具体地,服务器获取当前未执行的任务序列所对应的排序号序列,并从该排序号序列中的各排序号中选取序号最大值的排序号。服务器执行该序号最大值的排序号所对应的任务,并将该序号最大值的排序号所对应的任务作为当前执行任务。当当前执行任务执行失败时,服务器则停止执行获取当前未执行的任务序列所对应的排序号序列的步骤,并将该当前执行任务所对应的任务执行结果反馈至终端。当当前执行任务执行成功时,服务器则返回获取当前未执行的任务序列所对应的排序号序列的步骤继续执行,直至当前未执行的任务序列中的任务均执行完毕。

举例说明,假设当前未执行的任务序列为a、b和c,相应的排序号序列为60、52和38,则该排序号序列中序号最大值为60。服务器从该排序号序列中选取的序号最大值的排序号为60,并对应执行排序号60所对应的任务a。

在一个实施例中,服务器在获取当前未执行的任务序列所对应的排序号序列之前,获取当前未执行的任务序列,并根据该当前未执行的任务序列获取相应的排序号序列。当当前任务执行成功时,服务器返回获取当前未执行的任务序列的步骤继续执行,直至根据产品标识和业务节点标识查询到的任务标识所对应的任务均执行完毕。

在一个实施例中,服务器在根据排序号的顺序依次执行与相应任务标识对应的任务的过程中,服务器从当前未执行相应任务的排序号中选取最大的排序号,并执行该最大的排序号所对应的任务。在当前执行的与该最大的排序号对应的任务执行失败时,服务器停止继续执行从当前未执行相应任务的排序号中选取最大的排序号,并执行该最大的排序号所对应的任务的步骤,并将当前执行失败的任务所对应的任务执行结果反馈至终端。进一步地,在当前执行的与该最大的排序号对应的任务执行成功时,服务器继续执行从当前未执行相应任务的排序号中选取最大的排序号,并执行该最大的排序号所对应的任务的步骤,直至当前执行的任务执行失败,或者,所查询到的各个任务标识所对应的任务均执行完毕时,停止上述迭代过程。

在一个实施例中,在根据排序号的顺序依次执行与相应任务标识对应的任务的过程中,在当前执行的任务执行完毕时,服务器获取该当前执行的任务所对应的任务执行结果,并将所获取到的任务执行结果与该当前执行的任务所对应的预设执行结果进行匹配,当匹配失败时,表明该当前执行的任务执行失败,停止按照上述方式继续执行所查询到的且当前未执行的任务。

在一个实施例中,在根据排序号的顺序依次执行相应任务的过程中,在当前执行的任务执行完毕时,服务器获取该当前执行的任务所对应的任务执行结果。当所获取到的任务执行结果不符合预设执行条件时,比如任务执行结果为false时,服务器触发生成与业务节点标识对应的、表示任务执行失败的提示信息,并将所生成的提示信息反馈至终端。

上述实施例中,在根据排序号的顺序依次执行所查询到的各个任务标识所对应的任务的过程中,若当前执行的任务执行失败时则停止继续执行当前尚未执行的任务,并返回相应的任务执行结果,提高了业务请求响应效率。

在一个实施例中,步骤s210之前,上述业务请求响应方法还包括:当在缓存中没有查询到任务标识时,在数据库中查询与产品标识对应的数据表;在数据表中查询与业务节点标识对应的任务标识,以及与任务标识对应的排序号。

其中,数据表是预先构建并预存储在数据库中的信息表。数据表中可预配置有业务节点标识、任务标识和任务标识所对应的排序号。数据表中还可预配置有业务节点标识和任务标识之间的对应关系。

具体地,当在缓存中没有查询到与产品标识和业务节点标识对应的任务标识时,服务器根据产品标识在数据库中查询相应的数据表,并根据业务节点标识在所查询到的数据表中,查询与该业务节点标识对应的任务标识,以及该任务标识所对应的排序号。服务器在预配置的候选数据表中查询与产品标识对应的数据表。服务器将产品标识分别与数据库中预配置的每个候选数据表进行匹配,并将匹配成功的候选数据表确定为与该产品标识对应的数据表。服务器根据业务节点标识,在所确定的数据表中查询与该业务节点标识对应的任务标识,以及该任务标识所对应的排序号。

在一个实施例中,数据库中预配置的与产品标识相匹配的候选数据表有多个。服务器将产品标识与预配置的候选数据表分别进行匹配,当匹配成功的候选数据表有多个时,将匹配成功的该多个候选数据表确定为与该产品标识对应的多个数据表。服务器将业务节点标识分别与所确定的该多个数据表进行匹配,将匹配成功的数据表确定为与业务节点标识对应的数据表。

在一个实施例中,服务器将产品标识分别与预配置的候选数据表进行匹配,并将业务节点标识分别与数据库中预配置的候选数据表进行匹配,将与产品标识匹配成功、且与业务节点标识匹配成功的候选数据表,确定为与产品标识和业务节点标识对应的数据表,并从所确定的数据表中查询与产品标识和业务节点标识对应的任务标识,以及与任务标识对应的排序号。

上述实施例中,当在缓存中没有查询到用于响应业务请求的任务所对应的任务标识时,则从数据库中查询该任务标识,以保证业务请求的有效响应。

在一个实施例中,在数据表中查询与业务节点标识对应的任务标识,以及与任务标识对应的排序号之后,上述业务请求响应方法还包括:当在数据表中查询到任务标识和排序号时,将产品标识和业务节点标识,以及对应查询到的任务标识和排序号对应缓存在缓存中。

具体地,当在数据库中查询到与产品标识和业务节点标识对应的数据表,且在该数据表中查询到预配置的任务标识以及该任务标识所对应的排序号时,服务器将该产品标识、业务节点标识和对应查询到的任务标识,以及该任务标识对应的排序号对应缓存在缓存中。

上述实施例中,将在数据库中查询到的任务标识和排序号,与相应的产品标识和业务节点标识对应缓存在缓存中,以便于再次接收到上述业务请求时,从缓存中查询该任务标识,并执行相应的任务,提高了业务请求响应效率。

在一个实施例中,上述业务请求响应方法还包括:统计任务标识和排序号所对应的缓存时间;当缓存时间达到预设缓存更新时间时,根据相应的产品标识和业务节点标识在数据库中,对应查询目标任务标识和目标排序号;根据目标任务标识和目标排序号,对应更新缓存中与产品标识和业务节点标识对应缓存的任务标识和排序号。

其中,缓存时间是指数据缓存在缓存中的时间长度。缓存时间具体可以是任务标识和相应排序号自缓存到缓存时起累计的缓存时间长度。预设缓存更新时间是预先设定的用于与缓存时间比较的时间长度阈值。预设缓存更新时间是判定是否更新缓存中所缓存数据的依据。

具体地,服务器自按照上述方式将产品标识、业务节点标识、任务标识和相应的排序号缓存到缓存时起,累计计算缓存时间,并将计算的缓存时间与预设缓存更新时间进行比较。当缓存时间达到预设缓存更新时间时,服务器根据相应的产品标识和业务节点标识,在数据库中与该产品标识和业务节点标识对应的目标任务标识,以及与该目标任务标识对应的目标排序号。服务器根据所查询到的目标任务标识和目标排序号,对应更新缓存中已缓存的、且与相应产品标识和业务节点标识对应的任务标识和排序号。

在一个实施例中,服务器根据目标任务标识更新缓存中与相应产品标识和业务节点标识对应的已缓存任务标识,并根据目标排序号更新缓存中与相应产品标识和业务节点标识对应的已缓存排序号。

在一个实施例中,服务器按照预设周期统计缓存中已缓存的任务标识和相应排序号所对应的缓存时间,当统计的缓存时间达到预设缓存时间时,服务器在缓存中删除相应任务标识和排序号,以及与该任务标识对应缓存的产品标识和业务节点标识。进一步地,服务器根据在缓存中已删除的该产品标识和业务节点标识在数据库中查询相应的任务标识,以及任务标识所对应的排序号,并将该产品标识和业务节点标识和所查询到的任务标识和相应的排序号对应缓存在缓存中。服务器按照上述方式删除缓存中对应缓存的产品标识、业务节点标识、任务标识和相应的排序号,当再次接收到上述业务请求时,按照上述方式查询相应的任务标识和排序号,并对应缓存在缓存中。

上述实施例中,设置缓存更新时间,当缓存时间达到预设缓存更新时间时,对应更新待更新的任务标识和相应排序号,以便于及时将数据表已更新、新增或者删除的任务标识对应更新到缓存中,提高了业务请求的响应准确性和效率。

在一个实施例中,步骤s204之后,上述业务请求响应方法还包括:将产品标识与预设产品标识列表进行匹配;当匹配成功时,将产品标识和业务节点标识发送至缓存服务器;接收缓存服务器针对产品标识和业务节点标识对应反馈的任务标识,以及与任务标识对应的排序号。

其中,预设产品标识列表是预先设定的由多个产品标识组成的列表。预设产品标识列表具体可以是由业务请求频率高于预设频率阈值的产品所对应的产品标识组成。换而言之,预设产品标识列表由相应业务请求数量高于预设数量阈值的产品标识组成。缓存服务器可以是由多个服务器组成的服务器集群。缓存服务器可以有多个,每个缓存服务器中可缓存有预设产品标识列表中的一个或多个产品标识所对应的数据表,缓存的一个或多个数据表中预配置有预相应产品标识对应的业务节点标识、任务标识和该任务标识所对应的排序号。

具体地,服务器根据业务请求获取到相应的产品标识时,将所获取到的产品标识分别与预设产品标识列表中的每个产品标识进行匹配。当预设产品标识列表中存在与所获取到的产品标识相匹配的产品标识时,服务器则判定该所获取到的产品标识与预设产品标识列表匹配成功,并将该产品标识和相应的业务节点标识发送至缓存服务器。缓存服务器根据所接收到的产品标识和业务节点标识,在本地查询相应的任务标识和任务标识所对应的排序号,并将所查询到的任务标识和相应的排序号对应反馈至服务器,以便于服务器根据所接收到的任务标识和排序号按照上述方式对相应业务请求进行响应。

在一个实施例中,缓存服务器根据所接收到的产品标识在本地查询对应相应的数据表,并在所查询到的数据表中查询与业务节点标识对应的任务标识,以及与该任务标识对应的排序号。

在一个实施例中,当产品标识与预设产品标识列表匹配成功时,服务器将相应的业务请求转发至缓存服务器。在一个实施例中,服务器根据匹配成功的产品标识查询相应的缓存服务器标识,并将该匹配成功的产品标识发送至所查询到的缓存服务器标识所对应的缓存服务器。

上述实施例中,将访问量较大的产品标识对应的任务标识和相应的排序号缓存在缓存服务器中,以便于根据所接收到的业务请求从相应缓存服务器中获取相应的任务标识,能够缓解本地缓存压力,且能够避免因高并发的业务请求导致本地缓存雪崩的问题,保证了业务请求的有效响应,提高了响应效率。

在一个实施例中,将产品标识和业务节点标识发送至缓存服务器,包括:从多个候选缓存服务器中选择缓存服务器;将产品标识和业务节点标识发送至选择的缓存服务器。

具体地,多个候选缓存服务器中分别预配置有与产品标识和业务节点标识对应的任务标识,以及与任务标识对应的排序号。服务器获取到与业务请求对应的产品标识时,根据所获取到的产品标识从相应的多个候选缓存服务器中选择缓存服务器。服务器将所获取到的产品标识和业务节点标识发送至所选择的缓存服务器。服务器可从多个候选缓存服务器中随机选择一个缓存服务器。服务器也可以遍历轮询的方式从多个候选缓存服务器中选择缓存服务器。服务器还可以对产品标识的哈希值按照候选缓存服务器的总数量取余,根据计算所得的余数从该多个候选缓存服务器中选择缓存服务器。

在一个实施例中,服务器按照负载均衡的方式,从多个候选缓存服务器中选择用于查询并对应反馈任务标识和相应排序号的缓存服务器,并将产品标识和业务节点标识发送至所选择的缓存服务器。服务器具体可根据各个候选缓存服务器的当前负载,从该多个候选缓存服务器中选出缓存服务器。

上述实施例中,在多个缓存服务器分别预配置用于响应业务请求的任务标识和相应的排序号,以便于在高并发业务请求的情况下,能够缓存单个缓存服务器的压力,保证业务请求的有效响应,提高业务请求的响应效率。

如图3所示,在一个实施例中,提供了一种业务请求响应方法,该方法具体包括以下步骤:

s302,接收终端发送的业务请求;业务请求携带有产品标识和业务节点标识。

s304,将产品标识与预设产品标识列表进行匹配。

s306,当匹配成功时,从多个候选缓存服务器中选择缓存服务器。

s308,将产品标识和业务节点标识发送至选择的缓存服务器。

s310,接收缓存服务器针对产品标识和业务节点标识对应反馈的任务标识,以及与任务标识对应的排序号。

s312,在缓存中查询与产品标识对应的候选业务节点标识,并从候选业务节点标识中筛选与业务节点标识相匹配的目标业务节点标识。

s314,根据目标业务节点标识在缓存中查询相应的任务标识。

s316,当在缓存中查询到任务标识时,根据任务标识在缓存中查询相应的排序号。

s318,当在缓存中没有查询到任务标识时,在数据库中查询与产品标识对应的数据表。

s320,在数据表中查询与业务节点标识对应的任务标识,以及与任务标识对应的排序号。

s322,获取当前未执行的任务序列对应的排序号序列;

s324,从排序号序列中选取序号最大值的排序号;

s326,执行序号最大值的排序号所对应的任务,并作为当前执行任务。

s328,当当前执行任务执行失败时,停止执行获取当前未执行的任务序列对应的排序号序列的步骤。

s330,将当前执行任务对应的任务执行结果反馈至终端。

s332,当当前执行任务执行成功时,返回获取当前未执行的任务序列对应的排序号序列的步骤继续执行,直至当前未执行的任务序列中的任务均执行完毕。

s334,当执行完毕时,将任务执行结果反馈至终端。

上述实施例中,针对所接收到的业务请求,提供了多种用于获取任务标识和相应排序号的手段,根据所查询到的排序号的顺序依次执行相应的任务,并根据当前执行的任务所对应的任务执行结果触发相应的反馈流程,保证了业务请求的有效响应,提高了业务请求的响应效率。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种业务请求响应装置400,包括:接收模块402、查询模块404、任务执行模块406和反馈模块408,其中:

接收模块402,用于接收终端发送的业务请求;业务请求携带有产品标识和业务节点标识。

查询模块404,用于在缓存中查询与产品标识对应的候选业务节点标识,并从候选业务节点标识中筛选与业务节点标识相匹配的目标业务节点标识;

查询模块404,还用于根据目标业务节点标识在缓存中查询相应的任务标识;

查询模块404,还用于当在缓存中查询到任务标识时,根据任务标识在缓存中查询相应的排序号。

任务执行模块406,用于根据排序号的顺序依次执行与任务标识对应的任务。

反馈模块408,用于当执行完毕时,将任务执行结果反馈至终端。

在一个实施例中,任务执行模块406,还用于获取当前未执行的任务序列对应的排序号序列;从排序号序列中选取序号最大值的排序号;;执行序号最大值的排序号所对应的任务,并作为当前执行任务;当当前执行任务执行失败时,停止执行获取当前未执行的任务序列对应的排序号序列的步骤;将当前执行任务对应的任务执行结果反馈至终端;当当前执行任务执行成功时,返回获取当前未执行的任务序列对应的排序号序列的步骤继续执行,直至当前未执行的任务序列中的任务均执行完毕。

在一个实施例中,查询模块404,还用于当在缓存中没有查询到任务标识时,在数据库中查询与产品标识对应的数据表;在数据表中查询与业务节点标识对应的任务标识,以及与任务标识对应的排序号。

如图5所示,在一个实施例中,上述业务请求响应装置400,还包括:缓存模块410;

缓存模块410,用于当在数据表中查询到任务标识和排序号时,将产品标识和业务节点标识,以及对应查询到的任务标识和排序号对应缓存在缓存中。

在一个实施例中,上述业务请求响应装置400,还包括:缓存更新模块412;

缓存更新模块412,用于统计任务标识和排序号所对应的缓存时间;当缓存时间达到预设缓存更新时间时,根据相应的产品标识和业务节点标识在数据库中,对应查询目标任务标识和目标排序号;根据目标任务标识和目标排序号,对应更新缓存中与产品标识和业务节点标识对应缓存的任务标识和排序号。

在一个实施例中,查询模块404,还用于将产品标识与预设产品标识列表进行匹配;当匹配成功时,将产品标识和业务节点标识发送至缓存服务器;接收缓存服务器针对产品标识和业务节点标识对应反馈的任务标识,以及与任务标识对应的排序号。

在一个实施例中,查询模块404,还用于从多个候选缓存服务器中选择缓存服务器;将产品标识和业务节点标识发送至选择的缓存服务器。

关于业务请求响应装置的具体限定可以参见上文中对于业务请求响应方法的限定,在此不再赘述。上述业务请求响应装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预配置的产品标识、业务节点标识和相应的任务标识,以及与任务标识对应的排序号和任务。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务请求响应方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述各个实施例中的业务请求响应方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例中的业务请求响应方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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