数据传输方法及相关装置与流程

文档序号:17322674发布日期:2019-04-05 21:37阅读:141来源:国知局
数据传输方法及相关装置与流程

本发明涉及计算机领域,尤其涉及一种数据传输方法及装置。



背景技术:

随着互联网的发展,网络系统之间的调用指令越来越复杂。在实际应用中,为了简化服务器的功能,会对复杂的指令进行分片,得到多个功能相对简单的指令。其中,这些指令之间可能存在逻辑上的先后顺序。对大量具有逻辑先后顺序的指令进行快速处理变得很迫切。举例来说,第三方调用系统向风控系统发送获取风险报告指令时,上述获取风险报告指令可能会被分解成验证用户信息指令、获取征信数据指令、计算风险系数指令以及生成风险报告指令等,这些指令需要按照顺序依次执行。对于这种逻辑复杂、数量庞大的指令,单台服务器显然无法正确处理。

为了处理大量的具有逻辑关系的指令,通常将这些指令同时发送给服务器集群中的所有服务器。服务器集群中某一服务器成功执行逻辑顺序优先的指令后,通过广播的方式将执行成功消息发送给其余服务器。携带逻辑顺序靠后的指令的服务器收到上述执行成功消息后,开始执行上述逻辑顺序靠后的指令。

这种执行方案,服务器集群中每台服务器需要向多台服务器发送广播消息,以及接收多台服务器的广播消息,服务器资源损耗较大,数据传输的安全性和稳定性较低,服务器集群中各个服务器之间的耦合度较高。



技术实现要素:

本申请提出一种数据传输方法,可以节约服务器的资源,提高数据传输的安全性和稳定性,降低服务器集群中各个服务器之间的耦合度。

第一方面,本申请提供一种数据传输方法,应用于分布式系统,上述分布式系统包括队列服务器、负载均衡服务器以及服务器集群,上述队列服务器用于在接收到来自调用系统的指令后将上述指令进行分片,得到第一指令和第二指令,上述方法包括:

上述负载均衡服务器接收来自上述队列服务器的上述第一指令和上述第二指令;

从上述第一服务器集群中选取第一服务器,上述第一服务器集群包含至少两台服务器;

将上述第一指令发往上述第一服务器;

在上述第一服务器执行上述第一指令成功的情况下,从上述第二服务器集群中选取第二服务器;

将上述第二指令发往上述第二服务器。

结合第一方面,在一种可能的实现方式中,在将上述第一指令发往上述第一服务器之后,在上述从上述第二服务器集群中选取第二服务器之前,还包括:

接收到来自上述第一服务器的第一执行标识,上述第一执行标识用于确定上述第一服务器执行上述第一指令是否成功;

上述在上述第一服务器执行上述第一指令成功的情况下,从上述第二服务器集群中选取第二服务器,包括:

在依据上述第一执行标识,确定上述第一服务器执行上述第一指令成功的情况下,从上述第二服务器集群中选取上述第二服务器。

结合第一方面,在一种可能的实现方式中,上述从第一服务器集群中选取第一服务器,包括:

接收到来自第一服务器集群的第一请求消息,上述第一请求消息为最先到达负载均衡服务器的请求消息;

将第一服务器集群中上述第一请求消息对应的服务器确定为第一服务器;

或者,

从第一服务器集群中选择负载低于第一阈值的服务器作为第一服务器。

在本申请实施例,选择负载低于第一阈值的服务器或者发送第一请求消息的服务器作为第一服务器,可以充分利用服务器集群中各个服务器的性能,加快指令的执行效率。

结合第一方面,在一种可能的实现方式中,上述从上述第二服务器集群中选取第二服务器,包括:

接收到由第二服务器集群发送的最先到达的请求消息;

将第二服务器集群中上述最先到达的请求消息对应的服务器确定为第二服务器;

或者,

从第二服务器集群中选择负载低于第二阈值的服务器作为第二服务器。

结合第一方面,在一种可能的实现方式中,上述方法还包括:

在上述第一服务器执行上述第一指令产生错误的情况下,重新将上述第一指令发往上述第一服务器。

在一种可能的实现方式中,上述在上述第一服务器执行上述第一指令出现错误的情况下,重新将上述第一指令发往第一服务器,包括:

在上述第一服务器执行上述第一指令产生错误的次数低于阈值的情况下,重新将上述第一指令发往上述第一服务器。

在一种可能的实现方式中,在上述将所述第二指令发往所述第二服务器之后,还包括:

在确定执行上述第二指令成功的情况下,生成执行成功标识,上述执行成功标识用于表示上述第一指令和上述第二指令被执行成功;

将上述执行成功标识存储到缓存服务器中。

在一种可能的实现方式中,在上述重新将上述第一指令发往第一服务器之后,上述方法还包括:

在上述第一服务器执行上述第一指令产生错误的次数达到阈值的情况下,从第一服务器集群中排除上述第一服务器;

从上述第一服务器集群的剩余服务器中重新选择一个服务器作为第一服务器;

将上述第一指令发往上述第一服务器。

结合第一方面,在一种可能的实现方式中,在将上述第二指令发往上述第二服务器之后,还包括:

在上述第二服务器执行上述第二指令产生错误的情况下,重新将上述第二指令发往上述第二服务器。

在本申请实施例,在执行第一指令和第二指令错误的情况下,将第一指令和第二指令重新发送给对应的服务器,可以提高执行指令的准确性和稳定性。

实施本申请实施例,在第一服务器集群执行完逻辑顺序优先的第一指令后,将逻辑顺序靠后的第二指令发往第二服务器集群,服务器之间不必通过广播的方式进行通讯,可以节约服务器的资源,提高数据传输的安全性和稳定性,降低服务器集群中各个服务器之间的耦合度;同时,不同的服务器集群执行逻辑顺序不同的指令,可以简化服务器的任务,提高服务器的性能。

第二方面,本申请提出一种数据传输装置,包括:

第一接收单元,用于接收来自队列服务器的上述第一指令和上述第二指令;

第一选择单元,用于从第一服务器集群中选取第一服务器,上述第一服务器集群包含至少两台服务器;

第一发送单元,用于将上述第一指令发往上述第一服务器;

第二选择单元,用于在上述第一服务器执行上述第一指令成功的情况下,从上述第二服务器集群中选取第二服务器;

第二发送单元,用于将上述第二指令发往上述第二服务器。

结合第二方面,在一种可能的实现方式中,上述装置还包括:

第二接收单元,用于接收到来自上述第一服务器的第一执行标识,上述第一执行标识用于确定上述第一服务器执行上述第一指令是否成功;

上述第二选择单元,具体用于在依据上述第一执行标识,确定上述服务器执行上述第一指令成功的情况下,从第二服务器集群中选取第二服务器。

可选的,上述第一选择单元,具体用于接收到来自第一服务器集群的第一请求消息;将上述第一服务器集群中上述第一请求消息对应的服务器确定为第一服务器;或者,从第一服务器集群中选择负载低于第一阈值的服务器作为第一服务器。

可选的,上述装置还包括:

第一重发单元,用于在上述第一服务器执行上述第一指令产生错误的情况下,重新将上述第一指令发往上述第一服务器。

可选的,上述第一重发单元,具体用于在上述第一服务器执行上述第一指令产生错误的次数低于阈值的情况下,重新将上述第一指令发往上述第一服务器。

可选的,上述装置还包括:

第二重发单元,用于在上述第二服务器执行上述第二指令产生错误的情况下,重新将上述第二指令发往上述第二服务器。

第三方面,本申请提出一种数据传输装置,包括处理器和存储器;上述处理器和上述存储器通过总线相互连接;其中,上述存储器用于存储计算机程序,上述计算机程序包括程序指令,上述处理器被配置用于调用上述程序指令,执行上述第一方面所示的方法。

第四方面,本申请提出一种计算机可读存储介质,其特征在于,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时,使上述处理器执行如第一方面所示的方法。

第五方面,本申请实施例提供了一种包含程序指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面所示的方法。

实施本申请,可以节约服务器的资源,提高数据传输的安全性和稳定性,降低服务器集群中各个服务器之间的耦合度。

附图说明

为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

图1是本申请提出的一种数据传输方法的流程图;

图2是本申请提出的另一种数据传输方法的流程图;

图3是本申请提出的一种数据传输方法的具体应用场景的流程图;

图4是本申请提出的一种数据传输装置的结构示意图;

图5是本申请提出的另一种数据传输装置的结构示意图;

图6是本申请提出的一种数据传输装置的结构示意图。

具体实施方式

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法或设备固有的其他步骤或单元。

本申请提出一种数据传输方法,应用于分布式系统,上述分布式系统包括队列服务器、负载均衡服务器以及服务器集群,上述队列服务器用于在接收到来自调用系统的指令后将上述指令进行分片,得到第一指令和第二指令。实施本申请,可以节约服务器的资源,提高数据传输的安全性和稳定性,降低服务器集群中各个服务器之间的耦合度。下面将结合附图对本申请实施例进行描述。

图1是本申请提出的一种数据传输方法的流程图,该方法包括以下内容:

101、负载均衡服务器接收来自队列服务器的第一指令和第二指令;

上述负载均衡服务器是将数据或者指令分配给服务器集群的服务器,以保障服务器集群中各个服务器的性能被最大限度利用。上述队列服务器可以接收来自第三方调用系统的指令。上述第三方调用系统可以以异步方式将上述指令发往队列服务器,队列服务器接收到上述指令后,可以将上述指令存储到预先创建好的队列数据结构中。

上述队列服务器将上述指令进行分片,获得第一指令和第二指令,还可能获得第三指令和第四指令。上述分布式系统中除了第一服务器集群和第二服务器集群外,还可能包括第三服务器集群和第四服务器集群。其中,不同服务器集群处理不同逻辑顺序的指令。

具体的,由于执行第二指令时可以需要用到执行第一指令所得到的执行结果,上述第一指令的执行顺序应当优先于第二指令。

举例来说,第三方调用系统向风控系统发送获取征信报告指令,风控系统收到上述指令后,由负载均衡服务器将上述指令进行分片,得到验证用户信息指令、获取征信数据指令以及生成征信报告指令。这些指令具有执行先后顺序,其中,验证用户信息指令的优先级大于获取征信数据指令的优先级,获取征信数据指令的优先级大于生成征信报告指令的优先级。

上述负载均衡服务器可以可以采用多种通信协议与上述队列服务器进行连接,上述多种通信协议可以包括超文本传输协议(hypertexttransferprotocol,http)、文件传输协议(filetransferprotocol,ftp)以及远程终端协议等。

102、从第一服务器集群中选取第一服务器,上述第一服务器集群包含至少两台服务器;

具体的,上述第一服务器集群可以包含至少两台服务器,上述至少两台服务器的性能、配置以及功能可以一致。上述至少两台服务器执行的指令逻辑顺序相同。

在一种可能的实现方式中,上述负载均衡服务器可以开启接收端口,开始接收来自第一服务器集群中一个或多个服务器的请求消息。上述负载均衡服务器接收到的第一个请求消息之后,将该第一个消息对应的服务器作为第一服务器,并关闭接收端口,不再接收其他请求消息。

在一种可能的实现方式中,上述负载均衡服务器可以选择第一服务器集群中负载低于第一阈值的服务器作为目标服务器。具体的,上述负载均衡服务器可以采用加权轮询算法计算第一服务器集群中一个或多个服务器的负载。其中,当上述第一服务器集群中的服务器被选定为第一服务器之后,依据加权轮询算法,该服务器的负载增大,下次被选定为第一服务器的概率降低。

103、将上述第一指令发往上述第一服务器;

在从第一服务器集群中选取第一服务器之后,上述负载均衡服务器将上述第一指令发往上述第一服务器。

上述第一服务器接收到上述第一指令后,执行上述第一指令。上述第一服务器执行上述第一指令完成后,可以将第一执行标识发送给上述负载均衡服务器,以便上述负载均衡服务器确定执行上述第一指令是否成功。其中,上述第一执行标识用于确定上述第一服务器执行上述第一指令是否成功。

在一种可能的实现方式中,上述负载均衡服务器可以通过无连接服务将上述第一指令发往上述第一服务器。即上述负载均衡服务器在接收到上述第一服务器的请求后,将上述第一指令直接发往第一服务器。或者,上述负载均衡服务器选择出上述第一服务器之后,将上述第一指令发往上述第一服务器,上述第一服务器收到上述第一指令后,向上述第一服务器返回确认信息。

在一种可能的实现方式中,上述负载均衡服务器可以通过面向连接服务将上述第一指令发往上述第一服务器。即上述负载均衡服务器可以首先与上述第一服务器建立连接通道,通过上述连接通道将上述第一指令发往上述第一服务器。上述第一服务器接收到上述第一指令后,通过上述连接通道向上述负载均衡服务器回复确认信息。

104、在上述第一服务器执行上述第一指令成功的情况下,从第二服务器集群中选取第二服务器;

在一种可能的实现方式中,上述第一服务器执行完成上述第一指令之后,可以将第一执行标识返回给负载均衡服务器。上述负载均衡服务器依据上述第一执行标识,确定上述第一服务器执行上述第一指令是否成功。上述负载均衡服务器在确定执行上述第一指令成功的情况下,从上述第二服务器集群中选取第二服务器。

在一种可能的实现方式中,上述负载均衡服务器可以开启接收端口,开始接收来自第二服务器集群中一个或多个服务器的请求消息。上述负载均衡服务器接收到的第一个请求消息之后,将该第一个请求消息对应的服务器作为第一服务器,并关闭接收端口,不再接收其他请求消息。

在一种可能的实现方式中,上述负载均衡服务器可以选择第二服务器集群中负载低于第二阈值的服务器作为目标服务器。具体的,上述负载均衡服务器可以采用加权轮询算法计算第二服务器集群中一个或多个服务器的负载。其中,当第二服务器集群中的服务器被选定为第二服务器之后,依据加权轮询算法,该服务器的负载增大,下次被选定为第二服务器的概率降低。

105、将上述第二指令发往上述第二服务器。

在从第二服务器集群中选取第二服务器之后,上述负载均衡服务器将上述第二指令发往上述第二服务器。

上述第二服务器接收到上述第二指令后,执行上述第二指令。上述第二服务器执行上述第二指令完成后,可以将第二执行标识发送给上述负载均衡服务器,以便上述负载均衡服务器确定执行上述第二指令是否成功。其中,上述第二执行标识用于确定上述第二服务器执行上述第二指令是否成功。

在一种可能的实现方式中,上述负载均衡服务器可以通过无连接服务将上述第二指令发往上述第二服务器。即上述负载均衡服务器在接收到上述第二服务器的请求后,将上述第二指令直接发往第二服务器。或者,上述负载均衡服务器选择出上述第二服务器之后,将上述第二指令发往上述第二服务器,上述第二服务器收到上述第二指令后,向上述第二服务器返回确认信息。

在一种可能的实现方式中,上述负载均衡服务器可以通过面向连接服务将上述第二指令发往上述第二服务器。即上述负载均衡服务器可以首先与上述第二服务器建立连接通道,通过上述连接通道将上述第二指令发往上述第二服务器。上述第二服务器接收到上述第二指令后,通过上述连接通道向上述负载均衡服务器返回确认信息。

实施本申请实施例,可以节约服务器的资源,提高数据传输的安全性和稳定性,降低服务器集群中各个服务器之间的耦合度。

请参阅图2,图2是本申请提出的另一种数据传输方法的流程图。该方法包括以下内容:

201、负载均衡服务器接收来自队列服务器的第一指令和第二指令;

202、接收到来自第一服务器集群的第一请求消息;将第一服务器集群中上述第一请求消息对应的服务器确定为第一服务器;或者,从第一服务器集群中选择负载低于第一阈值的服务器作为第一服务器;

上述负载均衡服务器开启接收进程和接收端口,接收第一服务器集群中一个或多个服务器的请求消息。上述请求消息用于向上述负载均衡服务器请求上述第一指令。

上述负载均衡服务器接收到上述第一请求消息,上述第一请求消息为服务器集群中的服务器发送的最先到达负载均衡服务器的请求消息。上述负载均衡服务器接收到上述第一请求消息之后,将服务器集群中上述第一请求消息对应的服务器确定为第一服务器。

举例来说,上述第一服务器集群中的服务器可以定时向上述负载均衡服务器发送请求消息,上述负载均衡服务器接收到来自队列服务器的第一指令之后,开启接收进程和接收端口。上述负载均衡服务器接收到最先到达的请求消息后,关闭接收进程,不再接收其他请求消息,并将接收到的请求消息对应的服务器作为第一服务器。

上述负载均衡服务器可以从第一服务器集群中选择负载低于第一阈值的服务器作为第一服务器。具体的,上述负载均衡服务器可以采用加权轮询算法,计算上述第一服务器集群中各服务器的负载。

举例来说,上述第一服务器集群有三台服务器,三台服务器的权重系数分别为0.8,1.0,1.2,服务器的负载=链路权重*权重系数。当服务器被选定为第一服务器时,链路权重增加1。负载均衡服务器计算各台服务器的负载之后,可以选择倒数第二的负载作为第一阈值,即上述负载均衡服务器可以选取负载最低的服务器作为第一服务器。或者,选择最高负载和最低负载的平均值作为第一阈值,若有多台服务器的负载低于第一阈值,则从负载低于第一阈值的多台服务器中随机选取一台服务器作为第一服务器。

203、将上述第一指令发往上述第一服务器;

204、接收到来自上述第一服务器的第一执行标识,上述第一执行标识用于确定上述第一服务器执行上述第一指令是否成功;

在一种可能的实现方式中,在上述第一服务器执行上述第一指令失败的情况下,上述第一执行标识可以包含执行失败的原因信息,以及异常结果。

举例来说,在上述第一服务器执行上述第一指令失败时,可以捕获执行失败的原因信息,获取执行失败后得到的异常结果,将上述异常结果与原因信息合并,得到第一执行标识,并将上述第一执行标识发送给负载均衡服务器。

在一种可能的实现方式中,在上述第一服务器执行上述第一指令成功时,上述第一执行标识可以包含第一执行结果与第一执行成功标识的一项或者多项。其中,上述第一成功标识是负载均衡服务器依据预设的协议制定的唯一性标识。

举例来说,在上述第一服务器执行上述第一指令成功时,上述第一服务器可以获取到第一执行结果与第一执行成功标识,上述第一执行成功标识可以包含第一指令的标识码,以及一串代表执行成功的二进制校验数据。上述第一服务器可以将上述第一执行结果与上述第一执行成功标识合并,获得第一标识。或者,上述第一服务器可以将上述第一执行结果存储到缓存服务器,将上述第一执行成功标识作为第一标识,并发送给负载均衡服务器。

205、在上述第一服务器执行上述第一指令产生错误的次数低于阈值的情况下,重新将上述第一指令发往上述第一服务器。

具体的,上述负载均衡服务器依据上述第一标识,确定上述第一服务器执行上述第一指令产生错误的情况下,计算上述第一服务器执行上述第一指令产生错误的次数;若上述产生错误的次数低于第一阈值,则将上述第一指令重新发往上述第一服务器。

具体的,上述负载均衡服务器在上述产生错误的次数达到阈值的情况下,可以将上述第一服务器从第一服务器集群中剔除,即上述负载均衡服务器不再选择该硬件设备作为第一服务器。从上述第一服务器集群的剩余服务器中重新选择一个服务器作为第一服务器;将上述第一指令发往上述第一服务器。

其中,上述重新选择一个服务器作为第一服务器的方法可参阅202。

206、在上述第一服务器执行上述第一指令成功的情况下,从上述第二服务器集群中选取上述第二服务器;

上述在上述第一服务器执行上述第一指令成功的情况下,从上述第二服务器集群中选取上述第二服务器,包括:

在依据第一执行标识,确定第一服务器执行上述第一指令成功的情况下,从所述第二服务器集群中选取上述第二服务器。

上述负载均衡服务器接收到上述第一标识,将上述第一标识按照预设的解析模板进行解析,确定上述第一服务器执行上述第一指令是否成功。在上述第一服务器执行上述第一指令成功的情况下,从第二服务器集群中选取第二服务器。

上述负载均衡服务器开启接收进程和接收端口,接收第二服务器集群中一个或多个服务器的请求消息。上述请求消息用于向上述负载均衡服务器请求上述第一指令。

上述负载均衡服务器接收到上述第二请求消息,上述第二请求消息是第二服务器集群发送的最先到达负载均衡服务器的请求消息。上述负载均衡服务器接收到上述第二请求消息之后,将第二服务器集群中上述第二请求消息对应的服务器确定为第二服务器。

在一种可能的实现方式中,上述第一服务器执行上述第一指令后,可以将获得的第一执行结果存储到缓存服务器中。

207、将上述第二指令发往上述第二服务器;

208、在上述第二服务器执行上述第二指令产生错误的情况下,重新将上述第二指令发往上述第二服务器。

具体的,上述负载均衡服务器可以接收来自第二服务器第二执行标识,上述第二执行标识用于确定上述第二服务器执行上述第二指令是否产生错误。

上述在上述第二服务器执行上述第二指令产生错误的情况下,重新将上述第二指令发往上述第二服务器,包括:

在依据上述第二执行标识,确定上述第二服务器执行上述第二指令产生错误的情况下,重新将上述第二指令发往上述第二服务器。

结合206,在一种可能的实现方式中,上述第二服务器接收到上述第二指令后,可以从缓存服务器中读取第一执行结果,将上述第一执行结果作为执行参数,执行上述第二指令。上述第二服务器执行完成上述第二指令后,将第二执行结果存储到缓存服务器中。其中,上述第一执行结果为上述第一服务器执行上述第一指令所获得的执行结果。

实施本申请实施例,在第一服务器集群执行完逻辑顺序优先的第一指令后,将逻辑顺序靠后的第二指令发往第二服务器集群,服务器之间不必通过广播的方式进行通讯,可以节约服务器的资源,提高数据传输的安全性和稳定性,降低服务器集群中各个服务器之间的耦合度;同时,不同的服务器集群执行逻辑顺序不同的指令,可以简化服务器的任务,提高服务器的性能。

请参阅图3,图3是本申请提出的一种数据传输方法的具体应用场景的流程图。该方法应用于风控系统,上述风控系统包括队列服务器、负载均衡服务器、第一服务器集群和第二服务器集群。上述队列服务器接收到第三方调用系统发送的风险评估指令,将上述指令进行分片,获得获取征信数据指令以及生成风险报告指令。其中,上述获取征信数据指令被执行完成之后,才能执行生成风险报告指令。

s301、负载均衡服务器接收来自队列服务器的获取征信数据指令和生成风险报告指令;

s302、接收到来自第一服务器集群的第一请求消息;将第一服务器集群中的上述第一请求消息对应的服务器确定为第一服务器;

上述负载均衡服务器开启第一接收进程和第一接收端口,接收第一服务器集群中一个或多个服务器的请求消息。上述请求消息用于向上述负载均衡服务器请求上述获取征信数据指令。

上述负载均衡服务器接收到上述第一请求消息,上述第一请求消息为第一服务器集群中的服务器发送的最先到达负载均衡服务器的请求消息。上述负载均衡服务器接收到上述第一请求消息之后,将服务器集群中上述第一请求消息对应的服务器确定为第一服务器。

s303、将上述获取征信数据指令发往上述第一服务器;

上述第一服务器接收到上述获取征信数据指令后,执行完上述获取征信数据指令,将执行得到的第一执行结果存储到缓存服务器中,并生成第一执行标识。

上述第一服务器生成第一执行标识后,将上述第一执行标识发往负载均衡服务器。

s304、接收到来自上述第一服务器的第一执行标识;

上述第一执行标识用于判断上述第一服务器执行上述获取征信数据指令是否成功。

s305、判断上述第一服务器执行上述获取征信数据指令是否成功;

上述负载均衡服务器根据上述第一执行标识,判断上述第一服务器执行上述获取征信数据指令是否成功,若成功,则执行步骤s306;否则,则重复步骤s303和s304。

s306、从第二服务器集群中选取第二服务器;

上述负载均衡服务器开启第二接收进程和第二接收端口,接收第二服务器集群中一个或多个服务器的请求消息。上述请求消息用于向上述负载均衡服务器请求上述生成风险报告指令。

上述负载均衡服务器接收到上述第二请求消息,上述第二请求消息为第二服务器集群中的服务器发送的最先到达负载均衡服务器的请求消息。上述负载均衡服务器接收到上述第二请求消息之后,将第二服务器集群中上述第二请求消息对应的服务器确定为第二服务器。

s307、将生成风险报告指令发往上述第二服务器;

上述第二服务器接收到上述生成风险报告指令后,从缓存服务器中读取第一执行结果,执行上述生成风险报告指令,获得第二执行标识和第二执行结果。上述第二服务器可以将第二执行结果存储到缓存服务器中。其中,上述第二执行标识用于判断上述第二服务器执行上述生成风险报告指令是否成功。

s308、判断上述第二服务器执行上述生成风险报告指令是否成功;

上述负载均衡服务器接收到来自上述第二服务器的第二执行标识,依据上述第二执行标识,判断上述第二服务器执行上述生成风险报告指令是否成功。若成功,则执行步骤s309;否则,重新执行步骤s307和s308。

s309、生成执行标识,将上述执行标识发送给队列服务器,上述执行标识用于表示上述获取征信数据指令和上述生成风险报告指令均被执行成功。

上述队列服务器接收到上述执行成功标识之后,可以从缓存服务器中读取第二执行结果,将第二执行结果返回给第三方调用系统。

具体的,上述第二服务器在执行上述生成征信报告指令时,可以从缓存服务器中读取上述第一执行结果,将上述第一执行结果作为执行过程的参数。上述第二服务器执行完上述生成征信报告指令后,将第二执行结果存储到缓存服务器中。

实施本申请实施例,可以节约服务器的资源,提高数据传输的安全性和稳定性,降低服务器集群中各个服务器之间的耦合度,提高服务器的性能。

请参阅图4,图4是本申请提出的一种数据传输装置的结构示意图,上述装置包括:

第一接收单元401,用于接收来自队列服务器的上述第一指令和上述第二指令;

第一选择单元402,用于从第一服务器集群中选取第一服务器,上述第一服务器集群包含至少两台服务器;

第一发送单元403,用于将上述第一指令发往上述第一服务器;

第二选择单元404,用于在上述第一服务器执行上述第一指令成功的情况下,从上述第二服务器集群中选取第二服务器;

第二发送单元405,用于将上述第二指令发往上述第二服务器。

如图5所示,上述装置还包括:

第二接收单元406,用于接收到来自上述第一服务器的第一执行标识,上述第一执行标识用于确定上述第一服务器执行上述第一指令是否成功;

第一重发单元407,用于在上述第一服务器执行上述第一指令产生错误的情况下,重新将上述第一指令发往上述第一服务器;

第二重发单元408,具体用于在上述第二服务器执行上述第二指令产生错误的情况下,重新将上述第二指令发往上述第二服务器。

在一种可能的实现方式中,上述第二选择单元404,具体用于在依据上述第一执行标识,确定上述服务器执行上述第一指令成功的情况下,从第二服务器集群中选取第二服务器。

在一种可能的实现方式中,上述第一选择单元403,具体用于接收到来自第一服务器集群的第一请求消息;将第一服务器集群中上述第一请求消息对应的服务器确定为第一服务器;或者,从第一服务器集群中选择负载低于第一阈值的服务器作为第一服务器。

在一种可能的实现方式中,上述第一重发单元407,具体用于在上述第一服务器执行上述第一指令产生错误的次数低于阈值的情况下,重新将上述第一指令发往上述第一服务器。

可理解,图4和图5所示的数据传输装置的具体实现方式还可参考图1、图2和图3所示的方法,这里不再一一详述。

实施本申请实施例所提供的装置,可以节约服务器的资源,提高数据传输的安全性和稳定性,降低服务器集群中各个服务器之间的耦合度。

请参阅图6,图6是本申请实施例提供的另一种数据传输装置的结构示意图。该装置包括:至少一个处理器601,例如中央处理器(centralprocessingunit,cpu),至少一个存储器602,至少一个收发器603和至少一个总线604。其中,上述总线604可以是一组并行的数据线,用于实现上述处理器601、上述存储器602和上述收发器603的相互连接;上述存储器602可以是高速随机存取存储器(randomaccessmemory,ram),也可以是非易失性存储器(non-volatilememory),例如至少一个只读存储器(readonlymemory,rom)。

具体的,上述收发器603可用于接收来自队列服务器的第一指令和第二指令,将上述第一指令发往第一服务器,以及将上述第二指令发往第二服务器。

在一种可能的实现方式中,上述收发器603还可用于接收来自第一服务器的第一执行标识,以及接收来自第二服务器的第二执行标识。其中,上述第一执行标识可用于判断上述第一服务器执行上述第一指令是否成功,上述第二执行标识可用于判断上述第二服务器执行上述第二指令是否成功。

上述存储器602中可以存储程序指令,上述处理器601可用于调用程序指令执行图1、图2和图3中所示的方法。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质包括只读存储器(readonlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmablereadonlymemory,prom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子抹除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

以上对本申请实施例公开的一种数据传输方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

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