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

文档序号:16200320发布日期:2018-12-08 06:32阅读:177来源:国知局
业务请求响应方法、装置、计算机设备和存储介质与流程

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

背景技术

随着网络信息技术的发展,通过网络信息平台进行的相关技术的业务应用也越来越多,例如网络约车、网络租房等等。而随着这些网络技术应用的快速发展,与服务器交互的客户端设备也越来越多。此外,一个业务请求对应的主功能中往往夹杂很多其他附属功能,例如,在请求登录的时候去查询数据库提取用户相关信息后再返回登录状态;在请求推荐列表的时候,帖子内容关联到用户,关联点赞用户、评论用户、关注用户等非帖子自身数据表内容或需要动态计算出关注该帖子的用户数量、留言总数等。

传统的方式中,对业务请求的响应是采用直接同步计算的方式,这种方式从客户端发送到服务器的业务请求,往往需要在服务器耗费较多的时间才能返回主功能数据给服务端,用户等待时间较长。



技术实现要素:

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

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

获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端。

在其中一个实施例中,上述的根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端,包括:

根据所述数据返回型任务向预先建立的区块链中与所述客户端具有最短通信距离的区块链节点发送数据返回指令,所述数据返回指令用于指示接收到所述数据返回指令的区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端。

在其中一个实施例中,上述的根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端,还包括:

在当前接收到所述数据返回指令的区块链节点未在本地存储数据中查询所述目标业务数据时,向当前接收到所述数据返回指令的区块链节点的相连区块链节点发送所述数据返回指令。

在其中一个实施例中,上述的业务请求响应方法,还包括:

获取所述非数据返回任务的数量,分发给预先建立的区块链中所述数量的区块链节点进行并行处理。

在其中一个实施例中,处理所述非数据返回任务的区块链节点将本地处理结果分发到所述区块链中;所述区块链中的各个区块链节点将处理所述非数据返回任务的区块链节点的本地处理结果进行汇总后进行保存。

在其中一个实施例中,所述非数据返回任务包括数据计算任务和数据保存任务;接收到数据保存任务的区块链节点获取待保存数据,将目标保存数据分发到区块链中;接收到计算任务的区块链节点对待计算数据进行数据计算得到本地计算结果,将本地计算结果发到区块链中。

在其中一个实施例中,所述在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端,包括:通过异步操作方式将非数据返回型任务从所述数据返回型任务所在的主线程移动到任务队列,在根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端之后,处理所述任务队列中的非数据返回型任务。

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

请求接收模块,用于获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

任务区分模块,用于根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

任务处理控制模块,用于在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端。

上述业务请求响应方法、装置、计算机设备和存储介质,由于在获取到客户端发送的业务请求后,会先根据所述业务请求中携带的目标业务数据的业务标识信息,区分所述业务请求对应的数据返回型任务和非数据返回型任务,在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端,也就是说,在根据所述数据返回型任务获取到目标业务数据后就直接将所述目标业务数据返回给所述客户端,而不需要等待全部非数据返回型任务处理完成之后再返回客户端,可以减少用户的等待时间。

附图说明

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

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

图3为另一个实施例中业务请求响应方法的应用环境图;

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

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

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

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

具体实施方式

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

本发明提供的业务请求响应方法,可以应用于如图1所示的应用环境中,包括终端101和服务器102。终端101可以通过网络与服务器102进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

终端101中安装有相应的客户端软件,该客户端软件可以预先安装在上述终端101,也可以是在终端101启动后,从第三方设备或网络服务器进行下载并安装。其中,第三方设备在实施例中不作限定。具体的,终端101的客户端软件,可用于实现终端101与服务器102之间的交互。实施例中以终端101中安装客户端软件为例进行说明。在以下实施例中,终端101中安装的客户端软件称为客户端。本发明实施例中,是在处理非数据返回型任务之前,先根据数据返回型任务获取所述目标业务数据,将目标业务数据返回给客户端。相对于传统的在全部处理完所有任务时才返回目标业务数据返回给客户,可以缩短用户的等待时间。

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

步骤s201:获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

本发明实施例中,客户端可以运行在图1的终端上;本发明实施例中所述的目标业务数据的业务标识信息可以理解为用于将该目标业务数据与其他数据进行区分的标识信息,该标识信息可以为目标业务数据的名称或目标业务数据的类型信息等等。

步骤s202:根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

本发明实施例中,数据返回型任务可以理解为需要向客户端进行数据返回的任务,也即所述业务请求对应的请求主功能数据的任务,非数据返回型任务可以理解为不需要向客户端进行数据返回的任务,也即所述业务请求的附属功能对应的处理任务,例如,一些只需要在服务器本地进行数据保存或者数据计算的任务。

具体地,服务器根据所述业务请求确定所述业务请求对应的各处理任务,根据所述业务标识信息对所述业务请求对应的各处理任务进行区分,得到与所述业务标识信息匹配的处理任务,将该与所述业务标识信息匹配的处理任务确定为数据返回型任务,将所述业务请求对应的各处理任务中的除数据返回型任务之外的剩余的处理任务确定为非数据返回型任务。

步骤s203:在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端;

具体地,服务器先根据所述数据返回型任务获取所述目标业务数据,在获取到所述目标业务数据之后,先将所述目标业务数据返回给所述客户端,在将所述目标业务数据返回给所述客户端之后,再处理所述非数据返回型任务。

上述业务请求响应方法中,由于在获取到客户端发送的业务请求后,会先根据所述业务请求中携带的目标业务数据的业务标识信息,区分所述业务请求对应的数据返回型任务和非数据返回型任务,在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端,也就是说,先在根据所述数据返回型任务获取到目标业务数据后,就将所述目标业务数据返回给所述客户端,而不需要等待全部非数据返回型任务处理完成之后再返回客户端,可以减少用户等待时间。

参阅图3所示,是另一实施例中的实现业务请求响应方法的应用环境示意图。应用环境示意图包括电子装置301、终端302以及区块链303。电子装置301可以通过网络、近场通信技术等适合的技术与终端302进行数据交互。区块链303包括分布式的多个区块链节点,各个区块链节点可以分别是一个独立的网络服务器,也可以是任意多个区块链节点是一个独立的网络服务器,或者全部区块链节点和电子装置301一起是一个独立的网络服务器。

终端302包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或者声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda),游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。终端302中安装有相应的客户端软件,该客户端软件可以预先安装在上述终端302,也可以是在终端302启动后,从第三方设备或网络服务器进行下载并安装。其中,第三方设备在实施例中不作限定。具体的,终端302的客户端软件,可用于实现终端302与电子装置301之间的交互。实施例中以终端302中安装客户端软件为例进行说明。在以下实施例中,终端302中安装的客户端软件称为客户端。

电子装置301是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。电子装置301可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器集群或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。

在本实施例中,电子装置301包括,但不仅限于可通过系统总线相互通信连接的存储设备3011、处理设备3012、及网络接口3013。需要指出的是,图3仅示出了具有组件3011-3013的电子装置301,这仅仅是示出了与本发明实施例有关的组件,根据需要,可以替代的实施更多或者更少的组件。

其中,存储设备3011包括内存及至少一种类型的可读存储介质。内存为电子装置301的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置301的内部存储单元,例如该电子装置301的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子装置301的外部存储设备,例如电子装置301上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。本实施例中,存储设备3011的可读存储介质通常用于存储安装于电子装置301的操作系统和各类应用软件,例如本申请一实施例中的业务请求响应装置3010的程序代码等。此外,存储设备3011还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理设备3012在一些实施例中可以包括一个或者多个微处理器、微控制器、数字处理器等。处理设备3012通常用于控制电子装置1的运行,例如执行与终端设备2进行数据交互或者通信相关的控制和处理等。在本实施例中,处理设处理设备3012用于运行存储设备3011中存储的程序代码或者处理数据,例如运行业务请求响应装置3010等。

网络接口3013可包括无线网络接口或有线网络接口,该及网络接口3013通常用于在电子装置301与其他电子设备之间建立通信连接。本实施例中,网络接口13主要用于将电子装置301与一个或多个终端302相连,在电子装置301与一个或多个终端302之间建立数据传输通道和通信连接。

业务请求响应装置3010包括至少一个存储在存储设备3011中的计算机可读指令,该至少一个计算机可读指令可被处理设备3012执行,以实现本申请各实施例的业务请求响应方法。如后续所述,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。

在一实施例中,业务请求响应装置3010被处理设备12执行时,实现以下操作:获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;根据所述数据返回型任务向预先建立的区块链中与所述客户端具有最短通信距离的区块链节点发送数据返回指令,所述数据返回指令用于指示接收到所述数据返回指令的区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端。

在一个实施例中,如图4所示,提供了一种业务请求响应方法,以该方法应用于图3中的电子装置为例进行说明,具体是以应用于图3中的业务请求响应装置为例进行说明,具体地,上述的根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端,可以包括:根据所述数据返回型任务向预先建立的区块链中与所述客户端具有最短通信距离的区块链节点发送数据返回指令,所述数据返回指令用于指示接收到所述数据返回指令的区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端。

如图4所示,本实施例的业务请求响应方法可以包括以下步骤:

步骤s401:获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

步骤s402:根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

步骤s403:在处理所述非数据返回型任务之前,根据所述数据返回型任务向预先建立的区块链中与所述客户端具有最短通信距离的区块链节点发送数据返回指令,所述数据返回指令用于指示接收到所述数据返回指令的区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端。

一般地,发送数据返回指令可以携带所述业务标识信息或者数据返回型任务的标识信息

具体地,可以获取运行所述客户端的终端对应的ip(网络之间互连的协议,internetprotocol)地址信息,将运行所述客户端的终端对应的ip地址信息与区块链中的各个区块链节点的ip地址信进行比较,根据比较结果确定与所述客户端具有最短通信距离的区块链节点。其中,基于ip地址信息确定通信距离远近可以采用任意可以实现的方式。接收到所述数据返回指令的区块链节点在本地存储数据中查询对应的账本,进行解密后得到所述目标业务数据,立即将目标业务数据返回给所述客户端。

本实施例中,通过指令与所述客户端具有最短通信距离的区块链节点执行数据获取与返回操作,可以进一步节约业务请求响应时间,提升业务请求响应效率。同时,本发明实施例中,是基于分布式的区块链实现,当同一时间需要处理大量的业务请求时,可以显著提高处理效率。

在其中一个实施例中,上述的根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端,还可以包括:在当前接收到所述数据返回指令的区块链节点未在本地存储数据中查询所述目标业务数据时,向当前接收到所述数据返回指令的区块链节点的相连区块链节点发送所述数据返回指令。

这里,相连区块链节点是指同一区块链中与当前接收到所述数据返回指令的区块链节点直接相邻的区块链节点。本领域技术人员应该可以了解,当前接收到所述数据返回指令的区块链节点可以是与所述客户端具有最短通信距离的区块链节点,但也不限于是与所述客户端具有最短通信距离的区块链节点。例如,与所述客户端具有最短通信距离的区块链节点为区块链节点k,区块链节点k的相邻节点是区块链节点k+1,区块链节点k+1的相邻节点是区块链节点k+2,以此类推。在区块链节点k未查询到未在本地存储数据中查询所述目标业务数据时,向区块链节点k+1发送所述数据返回指令,此时的当前接收到所述数据返回指令的区块链节点是区块链节点k,即与所述客户端具有最短通信距离的区块链节点,在区块链节点k+1未查询到未在本地存储数据中查询所述目标业务数据时,向区块链节点k+2发送所述数据返回指令,此时的当前接收到所述数据返回指令的区块链节点是区块链节点k+1。

在存在多个相连区块链节点时,可以是向任意一个相连区块链节点发送所述数据返回指令,以指示该相连区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端。也可以是分别向多个相连区块链节点发送所述数据返回指令,以指示这多个相连区块链节点在本地存储数据中分别查询所述目标业务数据,并由最快查询到所述目标业务数据的相连区块链节点将所述目标业务数据返回给所述客户端。

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

步骤s501:获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

步骤s502:根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

步骤s503:根据所述数据返回型任务向预先建立的区块链中与所述客户端具有最短通信距离的区块链节点发送数据返回指令,所述数据返回指令用于指示接收到所述数据返回指令的区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端;

步骤s504:获取所述非数据返回任务的数量,分发给区块链中所述数量的区块链节点进行并行处理。

其中,在将非数据返回任务分发给区块链节点后,处理所述非数据返回任务的区块链节点将本地处理结果分发到区块链中,区块链中的各个区块链节点将处理所述非数据返回任务的区块链节点的本地处理结果进行汇总后进行保存。

例如,对于包括区块链节点1、区块链节点2、区块链节点3、......、区块链节点n的区块链,有m个非数据返回任务,可以根据一些预设规则或者随机向区块链中的m个区块链节点分发非数据返回任务,m个处理所述非数据返回任务的区块链节点分别将本地处理结果分发到区块链中。然后,区块链中的n个区块链节点分别根据这m个处理所述非数据返回任务的区块链节点所分发的本地处理结果进行汇总后进行保存。一般是将汇总结果汇总一个账本的形式进行保存,在汇总前对该账本进行加密处理,对加密后的账本进行保存。

本实施例中,通过分发给区块链中所述数量的区块链节点进行并行处理可以提升处理效率。但对非数据返回任务的处理方式并不限于这种平均分配的方式,例如,也可以集中到1个或者多个区块链节点处理所述非数据返回任务。

在其中一个实施例中,所述非数据返回任务包括数据计算任务和数据保存任务;接收到数据保存任务的区块链节点获取待保存数据,将目标保存数据分发到区块链中;接收到计算任务的区块链节点对待计算数据进行数据计算得到本地计算结果,将本地计算结果发到区块链中。

在其中一个实施例中,上述的在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端的步骤,可以包括:通过异步操作方式将非数据返回型任务从所述数据返回型任务所在的主线程移动到任务队列,在根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端之后,处理所述任务队列中的非数据返回型任务。

本实施例的方案,将非数据返回型任务从所述数据返回型任务所在的主线程移动到任务队列,可以使得主线程中的任务尽快处理完成,缩短用户的等待时间。

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

在一个实施例中,如图6所示,提供了一种业务请求响应装置,包括:请求接收模块601、任务区分模块602和任务处理控制模块603,其中:

请求接收模块601,用于获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

任务区分模块602,用于根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

任务处理控制模块603,用于在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端。

在其中一个实施例中,任务处理控制模块603可以根据所述数据返回型任务向预先建立的区块链中与所述客户端具有最短通信距离的区块链节点发送数据返回指令,所述数据返回指令用于指示接收到所述数据返回指令的区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端。

在其中一个实施例中,任务处理控制模块603还可以在当前接收到所述数据返回指令的区块链节点未在本地存储数据中查询所述目标业务数据时,向当前接收到所述数据返回指令的区块链节点的相连区块链节点发送所述数据返回指令。

在其中一个实施例中,任务处理控制模块603还用于获取所述非数据返回任务的数量,分发给预先建立的区块链中所述数量的区块链节点进行并行处理。

在其中一个实施例中,处理所述非数据返回任务的区块链节点将本地处理结果分发到所述区块链中;所述区块链中的各个区块链节点将处理所述非数据返回任务的区块链节点的本地处理结果进行汇总后进行保存。

在其中一个实施例中,所述非数据返回任务包括数据计算任务和数据保存任务;接收到数据保存任务的区块链节点获取待保存数据,将目标保存数据分发到区块链中;接收到计算任务的区块链节点对待计算数据进行数据计算得到本地计算结果,将本地计算结果发到区块链中。

在其中一个实施例中,任务处理控制模块603通过异步操作方式将非数据返回型任务从所述数据返回型任务所在的主线程移动到任务队列,在根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端之后,处理所述任务队列中的非数据返回型任务。

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

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

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

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端。

在一个实施例中,处理器执行计算机程序实现所述根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端的步骤时,具体实现以下步骤:根据所述数据返回型任务向预先建立的区块链中与所述客户端具有最短通信距离的区块链节点发送数据返回指令,所述数据返回指令用于指示接收到所述数据返回指令的区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端。

在一个实施例中,处理器执行计算机程序实现所述根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端的步骤时,具体还实现以下步骤:在当前接收到所述数据返回指令的区块链节点未在本地存储数据中查询所述目标业务数据时,向当前接收到所述数据返回指令的区块链节点的相连区块链节点发送所述数据返回指令。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述非数据返回任务的数量,分发给预先建立的区块链中所述数量的区块链节点进行并行处理。

在一个实施例中,处理所述非数据返回任务的区块链节点将本地处理结果分发到所述区块链中;所述区块链中的各个区块链节点将处理所述非数据返回任务的区块链节点的本地处理结果进行汇总后进行保存。

在一个实施例中,所述非数据返回任务包括数据计算任务和数据保存任务;接收到数据保存任务的区块链节点获取待保存数据,将目标保存数据分发到区块链中;接收到计算任务的区块链节点对待计算数据进行数据计算得到本地计算结果,将本地计算结果发到区块链中。

在一个实施例中,处理器执行计算机程序实现所述在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端的步骤时,具体还实现以下步骤:

通过异步操作方式将非数据返回型任务从所述数据返回型任务所在的主线程移动到任务队列,在根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端之后,处理所述任务队列中的非数据返回型任务。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取客户端发送的业务请求,所述业务请求中携带有目标业务数据的业务标识信息;

根据所述业务标识信息确定所述业务请求对应的数据返回型任务和非数据返回型任务;

在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端。

在一个实施例中,计算机程序被处理器执行实现所述根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端的步骤时,具体实现以下步骤:根据所述数据返回型任务向预先建立的区块链中与所述客户端具有最短通信距离的区块链节点发送数据返回指令,所述数据返回指令用于指示接收到所述数据返回指令的区块链节点在本地存储数据中查询所述目标业务数据,并将查询到的所述目标业务数据返回给所述客户端。

在一个实施例中,计算机程序被处理器执行实现所述根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端的步骤时,具体还实现以下步骤:在当前接收到所述数据返回指令的区块链节点未在本地存储数据中查询所述目标业务数据时,向当前接收到所述数据返回指令的区块链节点的相连区块链节点发送所述数据返回指令。

在一个实施例中,计算机程序被处理器执行实现时还实现以下步骤:获取所述非数据返回任务的数量,分发给预先建立的区块链中所述数量的区块链节点进行并行处理。

在一个实施例中,处理所述非数据返回任务的区块链节点将本地处理结果分发到所述区块链中;所述区块链中的各个区块链节点将处理所述非数据返回任务的区块链节点的本地处理结果进行汇总后进行保存。

在一个实施例中,所述非数据返回任务包括数据计算任务和数据保存任务;接收到数据保存任务的区块链节点获取待保存数据,将目标保存数据分发到区块链中;接收到计算任务的区块链节点对待计算数据进行数据计算得到本地计算结果,将本地计算结果发到区块链中。

在一个实施例中计算机程序被处理器执行实现所述在处理所述非数据返回型任务之前,根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端的步骤时,具体还实现以下步骤:

通过异步操作方式将非数据返回型任务从所述数据返回型任务所在的主线程移动到任务队列,在根据所述数据返回型任务获取所述目标业务数据,将所述目标业务数据返回给所述客户端之后,处理所述任务队列中的非数据返回型任务。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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