CN111176858A - 一种数据请求处理方法及装置 - Google Patents

一种数据请求处理方法及装置 Download PDF

Info

Publication number
CN111176858A
CN111176858A CN201911167574.7A CN201911167574A CN111176858A CN 111176858 A CN111176858 A CN 111176858A CN 201911167574 A CN201911167574 A CN 201911167574A CN 111176858 A CN111176858 A CN 111176858A
Authority
CN
China
Prior art keywords
processing
data
request
processed
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911167574.7A
Other languages
English (en)
Inventor
韩贤政
邓乔波
李志�
刘明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN201911167574.7A priority Critical patent/CN111176858A/zh
Publication of CN111176858A publication Critical patent/CN111176858A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请涉及数据处理领域,尤其涉及一种数据请求处理方法及装置,客户端通过显示的数据处理控制界面,向服务器发送数据处理请求,服务器接收客户端发送的数据处理请求后,确定数据处理请求的当前处理方式,根据所述当前处理方式,对待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,客户端根据所述当前处理方式,展示所述处理结果,这样,可以实现根据不同数据请求处理场景自动适用不同的处理方式,提高操作效率。

Description

一种数据请求处理方法及装置
技术领域
本申请涉及数据处理领域,尤其涉及一种数据请求处理方法及装置。
背景技术
目前,对于数据请求处理方法,主要包括异步请求同步处理、异步请求异步处理和同步请求同步处理,其中,异步请求同步处理,对于同步处理比较消耗中央处理器(CentralProcessing Unit,CPU),短时间无返回结果的情况,若长时间没有结果返回,效果较差;异步请求异步处理合适比较重,例如大批量数据处理请求的业务场景,但对于简单快速的请求,使用异步处理有些过重,没有直接返回结果直接快速,降低了效率;同步请求同步处理目前已经很少用,因为会阻塞前端请求和页面支持的下载(loading)状态,而现有技术中,通常只能使用一种处理方式,后端的处理方式是与前端的请求方式相同,并且前端采用与请求方式相同的方式来展示处理结果,均采用一种固定统一的方式,灵活性不高,不能自动适用不同的数据请求处理场景。
发明内容
本申请实施例提供一种数据请求处理方法及装置,以实现根据不同数据请求处理场景自动适用不同的处理方式,提高操作效率。
本申请实施例提供的具体技术方案如下:
本申请一个实施例提供了一种数据请求处理方法,包括:
接收客户端发送的数据处理请求,其中,所述数据处理请求是用户通过所述客户端上显示的数据处理控制界面触发的,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
确定所述数据处理请求的当前处理方式,其中,所述当前处理方式为同步处理方式或异步处理方式;
根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,以使所述客户端根据所述当前处理方式,展示所述处理结果。
本申请另一个实施例提供了一种数据请求处理方法,包括:
通过显示的数据处理控制界面,向服务器发送数据处理请求,其中,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
接收服务器针对所述数据处理请求返回的当前处理方式和处理结果,其中,所述当前处理方式是所述服务器确定的,所述处理结果是所述服务器根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理后获得的,所述当前处理方式为同步处理方式或异步处理方式;
根据所述当前处理方式,展示所述处理结果。
本申请另一个实施例提供了一种数据请求处理装置,包括:
接收模块,用于接收客户端发送的数据处理请求,其中,所述数据处理请求是用户通过所述客户端上显示的数据处理控制界面触发的,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
确定模块,用于确定所述数据处理请求的当前处理方式,其中,所述当前处理方式为同步处理方式或异步处理方式;
处理模块,用于根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,以使所述客户端根据所述当前处理方式,展示所述处理结果。
本申请另一个实施例提供了一种数据请求处理装置,包括:
发送模块,用于通过显示的数据处理控制界面,向服务器发送数据处理请求,其中,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
接收模块,用于接收服务器针对所述数据处理请求返回的当前处理方式和处理结果,其中,所述当前处理方式是所述服务器确定的,所述处理结果是所述服务器根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理后获得的,所述当前处理方式为同步处理方式或异步处理方式;
展示模块,用于根据所述当前处理方式,展示所述处理结果。
本申请另一个实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一种数据请求处理方法的步骤。
本申请另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种数据请求处理方法的步骤。
本申请实施例中,客户端通过显示的数据处理控制界面,向服务器发送数据处理请求,服务器接收客户端发送的数据处理请求后,确定数据处理请求的当前处理方式,根据所述当前处理方式,对待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,客户端根据所述当前处理方式,展示所述处理结果,这样,服务器可以根据不同数据处理请求的处理场景,自动适用更加合适的处理方式,都可以及时快速地向客户端反馈结果,降低用户等待时间,并且还可以将当前处理方式,发送给客户端,客户端可以根据当前处理方式,以不同方案展示处理结果,实现客户端也可以自适应不同的处理方式,提升用户使用体验和操作效率。
附图说明
图1为本申请实施例中一种数据请求处理方法的应用架构示意图;
图2为本申请实施例中一种数据请求处理方法流程图;
图3为本申请实施例中另一种数据请求处理方法流程图;
图4为本申请实施例中一种客户端侧的数据请求处理方法流程图;
图5为本申请实施例中一种服务器侧的数据请求处理方法流程图;
图6为本申请实施例中同步处理方式的处理流程示意图;
图7为本申请实施例中异步处理方式的处理流程示意图;
图8为本申请实施例中异步处理进度轮询的处理流程示意图;
图9A为本申请实施例中客户端通过数据处理控制界面上选择待处理数据指示信息的界面示意图;
图9B为本申请实施例中同步处理方式时处理成功界面展示示意图;
图9C为本申请实施例中同步处理方式时处理失败界面展示示意图;
图9D为本申请实施例中异步处理方式时处理未完成界面展示示意图;
图9E为本申请实施例中异步处理方式时处理完成并处理成功界面展示示意图;
图9F为本申请实施例中异步处理方式时处理完成并处理失败界面展示示意图;
图10为本申请实施例中一种数据请求处理装置结构示意图;
图11为本申请实施例中另一种数据请求处理装置结构示意图;
图12为本申请实施例中计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于对本申请实施例的理解,下面先对几个概念进行简单介绍:
异步请求同步处理:前后端分离后大部分的请求处理方式,可以满足正常的页面处理需求,前端发起异步请求,后端接收到后立即返回处理结果。
异步请求异步处理:通常应用于前后端分离请求耗时比较长的场景,前端发起异步请求,后端记录该请求后即刻返回响应,然后读取记录的该请求进行处理。
同步请求同步处理:前端发起同步请求,后端接收到后同步处理,即前端向后端发出一个请求时,在后端没返回结果给前端之前,前端要一直处于等待状态直至后端将结果返回到前端,才能执行下一步操作。
协程(coroutine):更适合于用来实现彼此熟悉的程序组件,不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用,一个程序可以包含多个协程,协程也相对独立,有自己的上下文,但是其切换由自己控制,若由当前协程切换到其他协程,则由当前协程来控制。
目前,对于数据请求处理方法,主要包括异步请求同步处理、异步请求异步处理和同步请求同步处理,这三种方式的适用场景不同,其中,异步请求同步处理,对于同步处理比较消耗CPU,短时间无返回结果的情况,若长时间没有结果返回,效果较差;异步请求异步处理合适比较重,例如大批量数据处理请求的业务场景,但对于简单快速的请求,使用异步处理有些过重,没有直接返回结果直接快速,降低了效率;同步请求同步处理目前已经很少用,因为会阻塞前端请求和页面支持的下载(loading)状态,而现有技术中,通常只能使用一种处理方式,并且后端的处理方式与前端的请求方式通常是相同的,均采用一种固定统一的方式,灵活性不高,不能自动适用不同的数据请求处理场景,容易导致用户的使用体验和操作效率降低。
因此针对此,本申请实施例中提供了一种数据请求处理方法,服务器接收客户端发送的数据处理请求,确定该数据处理请求的当前处理方式,并根据当前处理方式,对待处理数据进行处理,并且可以将当前处理方式和处理结果发送给客户端,客户端根据当前处理方式,以相应方案展示处理结果,这样,服务器可以针对本次数据处理请求,自动选择合适的处理方式,客户端也可以根据服务器的当前处理方式,自适应以不同方案展示处理结果,对于各种量级的数据处理,服务器和客户端的设计都可以有很好的平衡,更加灵活,可扩展性强,对于用户的数据处理请求都可以实时或很快返回结果,提升了用户体验和操作效率。
参阅图1所示,为本申请实施例中一种数据请求处理方法的应用架构示意图,包括客户端100、服务器200。
客户端100也可以称为前端,前端就是用户直接看到的,是与用户交互的部分,可以运行在智能设备,例如可以是智能手机、平板电脑、便携式个人计算机等任何智能设备,例如,本申请实施例中前端可以为企业批量处理数据的客户端,用户可以在前端的页面,选择待处理数据,进行批量修改数据属性、批量删除数据、批量传输数据到其它数据库等操作,进而提交数据处理请求到服务器200。
服务器200为客户端100提供后台服务,本申请实施例中服务器200可以接收客户端100的数据处理请求,并确定当前处理方式,进行处理,并将处理结果和当前处理方式发送给客户端100。
另外,需要说明的是,服务器200侧还可以分为后端和服务端,其中后端表示后台的系统,通常运行在服务器,为前端提供数据传输、简单数据处理等。服务端也即表示服务器,与后端相比可以为理解为远程服务,为处理同一种业务数据类型的微服务,后端和服务端可以使用远程过程调用协议(Remote Procedure Call Protocol,RPC)协议进行数据通信。
其中,本申请实施例中,服务端和后端可以分别部署在不同服务器,也可以集成在一个服务器,对此并不进行限制,例如本申请实施例中后端和服务端分别部署在不同服务器,则后端可以接收前端发送的数据处理请求,并进行合法性校验,校验通过后将待处理数据发送到服务端,之后服务端确定当前处理方式,并进行数据处理,将当前处理方式和处理结果发送给后端,再由后端进行拼接,按照与前端的约定格式,返回给前端,前端根据当前处理方式,按照不同方案展示处理结果。在这种情况下,后端还可以针对前端的请求进行简单的操作处理,服务端可以进行更为复杂的操作处理。
其中,服务器200可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。
客户端100与服务器200之间以通过互联网相连,实现相互之间的通信。可选地,上述的互联网使用标准通信技术和/或协议。互联网通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-upLanguage,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure SocketLayer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(VirtualPrivate Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
值得说明的是,本发明实施例中的应用架构图是为了更加清楚地说明本发明实施例中的技术方案,并不构成对本发明实施例提供的技术方案的限制,对于其它的应用架构和应用,本发明实施例提供的技术方案对于类似的问题,同样适用。
需要说明的是,本发明各个实施例中,以数据请求处理方法应用于图1所示的应用架构为例进行示意性说明。
基于上述实施例,参阅图2所示,为本申请实施例中一种数据请求处理方法流程图,主要应用在服务器,该方法包括:
步骤200:接收客户端发送的数据处理请求,其中,数据处理请求是用户通过客户端上显示的数据处理控制界面触发的,数据处理请求中至少包括通过数据处理控制界面选择的待处理数据指示信息。
本申请实施例中,可以应用于对数据进行批量处理的场景,在客户端可以显示数据处理控制界面,该数据处理控制界面可以设置在每页显示的数据数量,用户可以根据所需选择要处理的数据,其中,选择的数据可以是单条数据,也可以是多条数据,例如成百上千条,并且可以选择对待处理数据进行的操作,例如,对数据进行批量删除、批量传输到其它数据库、批量修改数据属性等操作,进而当用户选择待处理数据,并选择操作方式,点击确定后,即向服务器提交了数据处理请求。
步骤210:确定数据处理请求的当前处理方式,其中,当前处理方式为同步处理方式或异步处理方式。
执行步骤210之前,进一步包括:确定数据处理请求通过合法性校验。
也就是说,本申请实施例中,服务器在接收到客户端发送的数据处理请求后,先进行合法性校验,具体地,可以对数据处理请求中待处理数据指示信息的键值的有效性、数值类型等进行校验,例如判断数值类型是否为非法字符等,若校验未通过则可以丢弃该数据处理请求,若校验通过,则可以确定执行后续确定当前处理方式的步骤,这样,通过合法性校验,可以过滤非法提交的数据处理请求和一些预处理的工作,提高效率。
进而执行步骤210时,具体包括:根据数据处理请求中待处理数据的数量,和/或当前处理性能指示参数,确定数据处理请求的当前处理方式。
其中,可以根据待处理数据指示信息确定待处理数据的数量。
具体地,执行步骤210时具体可以分为以下几种实施方式:
第一种实施方式:可以仅根据待处理数据的数量。
具体地:若待处理数据的数量为不大于设定数量,则确定数据处理请求的当前处理方式为同步处理方式,否则,确定数据处理请求的当前处理方式为异步处理方式。
其中,设定数量可以根据实际情况进行设置,例如设定数量为一个,并不进行限制。
即若只有一条待处理数据,数据处理请求比较简单,可以采用同步处理方式,这样可以实时快速返回处理结果,减少用户等待时间,若有多条待处理数据,批量处理多条待处理数据,则可以采用异步处理方式,这样,可以先返回相关响应信息,然后根据客户端处理进度查看请求,返回当前处理结果,不需要等所有待处理数据均处理完成后再反馈,不会出现待处理数据多的场景下很长时间才有相应返回的情况,提升了用户使用体验,用户也无需在业务等待操作完成,才能进行其它操作,提高了操作效率。
第二种实施方式:仅根据处理性能指示参数。
具体地:若当前处理性能指示参数符合同步处理环境条件,则确定数据处理请求的当前处理方式为同步处理方式,否则,确定数据处理请求的当前处理方式为异步处理方式。
其中,处理性能指示参数包括以下一种或任意组合:CPU当前使用率、网络状态、内存占用率、平均请求处理时长。
其中,平均请求处理时长可以为根据之前处理数据处理请求的历史记录来确定,也可以根据经验预先设置,本申请实施例中并不进行限制。
本申请实施例中在第二种实施方式中,若当前处理性能指示参数符合同步处理环境条件,例如网络状态空闲、内存占用率较低等,则即使待处理数据可能有多个,也可以采用同步处理方式,由于符合同步处理环境条件,因此采用同步处理方式进行处理,用户等待时间也较短,不会有等待不好的体验,若当前处理性能指示参数不符合同步处理环境条件,则可以采用异步处理方式进行处理。
第三种实施方式:根据待处理数据的数量和当前处理性能指示参数。
具体地:若待处理数据的数量为不大于设定数量,并当前处理性能指示参数符合同步处理环境条件,则确定数据处理请求的当前处理方式为同步处理方式,否则,确定数据处理请求的当前处理方式为异步处理方式。
即本申请实施例中还可以同时根据待处理数据的数量,并结合当前处理性能指示参数进行判定,确定本次的数据处理请求的处理方式,可以更加准确合理地,确定合适本次数据处理请求的处理方式。
当然,也可以采用其它方式确定数据处理请求的当前处理方式,本申请实施例中并不进行限制。
这样,根据待处理数据的数量和/或当前处理性能指示参数,确定数据处理请求的当前处理方式,可以自动判断适用本次数据处理请求的当前处理方式,扩展性强,更加灵活,从而之后可以根据确定的当前处理方式,对数据处理请求中待处理指示信息对应的待处理数据进行处理。
步骤220:根据当前处理方式,对待处理数据指示信息对应的待处理数据进行处理,并将当前处理方式和处理结果发送给客户端,以使客户端根据当前处理方式,展示处理结果。
基于确定的不同的当前处理方式,执行步骤220时,可以分为以下两种情况:
第一种情况:若当前处理方式为同步处理方式。
其中,根据当前处理方式,对待处理数据指示信息对应的待处理数据进行处理,并将当前处理方式和处理结果发送给客户端,具体包括:
S1、判断待处理数据的数量。
这是由于,在确定为同步处理方式时,待处理数据的数量也可能有一个或多个的情况,而针对不同数量的待处理数据,需要采用不同的处理流程,因此需要先判断数据处理请求中待处理数据的数量是一个或多个。
S2.1、待处理数据的数量为单个时,则调用相应处理接口对待处理数据进行处理。
本申请实施例中,在本次数据处理请求只有一个待处理数据,则可以进入单个请求入口,调用相应的处理接口对待处理数据进行处理,例如操作是删除,则可以对待处理数据进行删除,处理完成后,将处理结果和当前处理方式发给客户端,例如告知客户端,该待处理数据删除成功,并采用的是同步处理方式。
这时对待处理数据进行处理时,可以是一个远程的服务调用,即调用远程服务进行处理,也可以是本地直接进行处理,本申请实施例中并不进行限制。
这样,进而客户端接收到待处理数据删除成功和同步处理方式后,可以按照同步处理方式,实时展示待处理数据删除成功的消息。
S2.2、待处理数据的数量为多个时,则采用协程方式分别对每个待处理数据进行处理,确定每个待处理数据均处理完成后,获得每个待处理数据的处理结果。
本申请实施例中,在这种情况下,待处理数据有多个又要求同步处理方式,则可以采用协程方式进行批量调用,等所有待处理数据均处理完成,将所有处理结果和当前处理方式返回给客户端,例如,待处理数据的数量为100条,操作为传输到A数据库,并均传输成功,则返回给客户端100条数据传输成功,并采用的是同步处理方式,进而客户端也是按照同步处理方式,同时实时展示这100条待处理数据的处理结果,即展示100条数据传输成功的消息。
S4、返回当前处理方式为同步处理方式,并待处理数据已处理完成的处理结果。
其中,若当前处理方式为同步处理方式,这时处理结果可以包括已处理完成时处理成功或处理失败描述信息。
第二种情况:若当前处理方式为异步处理方式。
其中,根据当前处理方式,对待处理数据指示信息对应的待处理数据进行处理,并将当前处理方式和处理结果发送给客户端,具体包括:
S1、针对数据处理请求建立请求处理任务,确定请求处理任务的标识。
本申请实施例中,若为异步处理方式,则需要先建立本次数据处理请求对应的一个请求处理任务,并确定该请求处理任务的标识,目的是为了唯一标识该请求处理任务,以使客户端可以根据该标识查询数据处理请求的处理进度,该请求处理任务为异步任务,进一步地,该请求处理任务对应有一个轮询脚本,用于处理每个待处理数据。
S2、将每个待处理数据进行存储,依次对每个待处理数据进行处理,每处理完成一个待处理数据,将处理完成的待处理数据的处理结果进行存储。
根据前述确定当前处理方式的实施方式可知,在确定为异步处理方式时,更大可能说明本次的数据处理请求的待处理数据的数量为多个,可能也会有为一个的情况,但这种情况比较少,并且若为一个时,也可以按照该方式进行处理,即将该处理数据进行存储,并处理完成后将处理结果也进行存储,当客户端请求查询处理进度时,返回当前的处理进度,因此这里以每个待处理数据进行处理为例进行说明。
具体地,将每个待数据处理写入存储数据库后,可以循环调用轮询脚本,一次处理存储的一条待处理数据,这时也可以调用本地方法进行处理,也可以调用远程服务进行处理,处理完成后,将该一条待处理数据的处理结果也写入存储数据库中,并更新处理进度。
S3、返回当前处理方式为异步处理方式,并返回请求处理任务的标识,以使客户端根据当前处理方式和请求处理任务的标识,请求获取请求处理任务中每个待处理数据的处理结果。
其中,若当前处理方式为异步处理方式,这时处理结果可以为:包括请求处理任务未处理完成的处理进度的处理结果、包括请求处理任务处理完成的已处理完成,以及处理成功或处理失败描述信息的处理结果。
本申请实施例中,可以在将每个待处理数据进行存储成功后,即向客户端发送当前处理方式为异步处理方式和请求处理任务的标识,进而客户端可以根据该请求处理任务的标识,请求获取处理结果,具体地,以使客户端根据当前处理方式和请求处理任务的标识,请求获取请求处理任务中每个待处理数据的处理结果,包括:
1)接收客户端发送的处理进度查询请求,其中,处理进度查询请求中至少包括请求处理任务的标识。
2)若确定请求处理任务未处理完成,则返回请求处理任务的处理进度的处理结果。
例如,数据处理请求的待处理数据有300条,即对应的请求处理任务有300条待处理数据,若当前已处理100条,还有200条未处理完成,则这时返回处理进度,例如100条数据处理完成,200条数据正在处理。
进而客户端接收到处理进度后,可以展示并更新处理进度,例如以进度条的方式展示处理进度,则可以根据返回的处理进度,更新进度条。
3)若确定请求处理任务处理完成,则返回处理进度为已处理完成,以及包含处理成功或处理失败描述信息的处理结果,其中,处理失败描述信息中包括处理失败的待处理数据的失败详情信息或处理失败的请求处理任务的失败详情信息。
例如,若有部分待处理数据处理失败,则可以展示处理失败的待处理数据的失败详情信息的下载链接,进而用户可以点击该下载链接,获得失败详情信息,可以根据失败详情信息进行相应处理。
又例如,请求处理任务均处理失败,如原因为网络异常,则可以记录请求处理任务处理失败的失败详情信息。
进一步地,针对上述两种情况,其中将当前处理方式和处理结果发送给客户端时,本申请实施例中还提供了一种可能的实施方式,按照约定格式将当前处理方式和处理结果发送给客户端。
本申请实施例中,服务器接收客户端发送的数据处理请求,可以根据待处理数据的数量和/或当前处理性能指示参数,确定该数据处理请求的当前处理方式,即为同步处理方式或异步处理方式,进而根据当前处理方式,对待处理数据进行处理,并将当前处理方式和处理结果发送给客户端,以使客户端根据当前处理方式,展示处理结果,这样,可以根据不同数据请求处理场景,自动确定不同的处理方式,并不需要关心客户端发送数据处理请求是同步请求还是异步请求,而是根据数据量和/或当前处理性能指示参数,确定该数据处理请求的当前处理方式,无论用户选择的待处理数据的数量是多少,都不会有等待不好的体验,都可以很快返回处理结果或反馈响应,适用更加灵活,扩展性强,并且在异步处理方式下,对于数据处理请求的请求处理任务,也可以并发处理,因为这些待处理数据之前没有依赖,可以并行处理,对于大量的数据处理场景,可以快速处理待处理数据,从而提升用户体验,提高操作效率。
基于上述实施例,参阅图3所示,为本申请实施例中另一种数据请求处理方法流程图,主要应用在客户端,该方法包括:
步骤300:通过显示的数据处理控制界面,向服务器发送数据处理请求,其中,数据处理请求中至少包括通过数据处理控制界面选择的待处理数据指示信息。
步骤310:接收服务器针对数据处理请求返回的当前处理方式和处理结果,其中,当前处理方式是服务器确定的,处理结果是服务器根据当前处理方式,对待处理数据指示信息对应的待处理数据进行处理后获得的,当前处理方式为同步处理方式或异步处理方式。
具体地,执行步骤310时,可以分为两种情况:
第一种情况:当前处理方式为同步处理方式。
本申请实施例中,若当前处理方式为同步处理方式,则服务器将数据处理请求中所有待处理数据均处理完成后,主动将处理结果和当前处理方式返回给客户端,即客户端可以直接接收到已处理完成的处理结果和当前处理方式,更加直接简单,可以更加及时给用户处理结果的反馈。
第二种情况:当前处理方式为异步处理方式。
则接收服务器针对数据处理请求返回的当前处理方式和处理结果,具体包括:
S1、接收服务器返回的当前处理方式和请求处理任务的标识,其中,请求处理任务的标识是服务器确定当前处理方式为异步处理方式后,针对数据处理请求建立请求处理任务并确定的。
也就是说,服务器若确定当前处理方式为异步处理方式,这时服务器需要建立异步任务,即请求处理任务,不用等处理完成后再反馈,可以先返回当前处理方式和请求处理任务的标识,告知客户端该数据处理请求正在处理了,进而客户端获知是异步处理方式后,无需用户在数据处理控制界面上等待操作完成,异步处理方式不会影响用户继续进行其它操作。
S2、确定当前处理方式为异步处理方式后,向服务器发送处理进度查询请求,其中,处理进度查询请求中至少包括请求处理任务的标识。
S3、接收服务器返回的处理结果,其中,处理结果为:包括请求处理任务未处理完成的处理进度的处理结果、包括请求处理任务处理完成的已处理完成,以及处理成功或处理失败描述信息的处理结果。
即客户端判断服务器采用的是异步处理方式后,可以发起处理进度轮询请求,请求查询处理进度,进而服务器根据处理进度查询请求中的请求处理任务的标识,查询该请求处理任务的处理进度,并返回给客户端,客户端展示并可以更新当前处理进度,当处理进度为已处理完成,则还可以同时返回处理成功或处理失败描述信息,客户端可以确定处理进度为已处理完成时,则不再轮询处理进度。
步骤320:根据当前处理方式,展示处理结果。
基于上述两种当前处理方式,则执行步骤320时,也可以相应分为两种情况:
第一种情况:执行步骤320时,具体包括:确定当前处理方式为同步处理方式,则展示处理结果。
即客户端判断当前处理方式为同步处理方式时,可以同步展示处理结果。
这时,处理结果即是服务器对待处理数据已处理完成后返回的,还包括处理成功或处理失败描述信息。
第二种情况:当前处理方式为异步处理方式,此时客户端可以轮询请求处理进度,则执行步骤320时,具体包括:每次接收到服务器返回的处理结果后,展示处理结果。
这时,处理结果即可以为未处理完成的处理进度,或处理进度为已处理完成,处理已完成时对应的每个待处理数据的处理成功或处理失败描述信息。
这样客户端确定为异步处理方式时,轮询处理进度,并可以根据服务器返回的当前的处理结果,进行展示。
需要说明的是,客户端侧的数据请求处理方法与上述实施例中服务器侧的数据请求处理方法中,相应过程的执行方法是相同的,因此这里就不再进行详细赘述了。
本申请实施例中,客户端通过显示的数据处理控制界面,向服务器发送数据处理请求,接收服务器针对数据处理请求返回的当前处理方式和处理结果,并根据当前处理方式,展示处理结果,这样,服务器可以自适应针对本次数据处理请求,确定更加合适准确的当前处理方式,并且客户端可以获知服务器针对本次数据处理请求所采用的当前处理方式,进而客户端可以根据当前处理方式,执行不同的处理流程,展示处理结果,极大地提升了用户的使用体验和操作效率。
下面采用具体应用场景进行说明,以服务器分为后端和服务端为例,其中,后端和服务端可以集成在一个服务器,也可以分开,这里以分开为例,这时服务端可以理解为相对于后端的远程服务,后端为与客户端直接交互的服务器,后端可以执行简单的处理操作,也可以通过调用远程的服务端进行执行,从而从服务端获取相应的请求结果,并返回给客户端,基于上述实施例,可以将本申请实施例中数据请求处理方法分为几方面进行说明,具体如下:
第一方面:客户端(即前端)的处理流程。
参阅图4所示,为本申请实施例中一种客户端侧的数据请求处理方法流程图,该方法包括:
步骤400:客户端通过显示的数据处理控制界面,向服务器发送数据处理请求。
步骤401:服务器接收到数据处理请求后,确定当前处理方式,并根据当前处理方式对待处理数据进行处理。
步骤402:客户端接收服务器针对数据处理请求返回的当前处理方式和处理结果,或当前处理方式和请求处理任务的标识。
其中,请求任务的标识是服务器确定当前处理方式为异步处理方式后,针对数据处理请求建立请求处理任务并确定的。
步骤403:客户端判断当前处理方式,若为同步处理方式,则执行步骤404,若为异步处理方式,则执行步骤405。
客户端接收到服务器返回的当前处理方式后,判断服务器使用的同步处理方式或异步处理方式。
步骤404:客户端同步展示处理结果。
步骤405:客户端向服务器发送处理进度查询请求。
其中,处理进度查询请求中至少包括请求处理任务的标识。
步骤406:客户端接收服务器返回的处理结果。
其中,异步处理方式时,这时服务器返回的处理结果为处理进度、处理成功或处理失败描述信息。
步骤407:客户端展示处理结果,并当确定处理完成时,不再发送处理进度查询请求。
第二方面:服务器(即包括后端和服务端)的处理流程。
参阅图5所示,为本申请实施例中一种服务器侧的数据请求处理方法流程图,该方法包括:
步骤500:后端接收客户端通过数据处理控制界面发送的数据处理请求。
本申请实施例中,用户可以在界面上选择待处理数据,界面上的数据以列表的形式分页展示,其中界面的大小用户可以自主设置,支持从数十条到上千条等,并不进行限制。用户选中一些待处理数据,可以进行例如:删除、修改状态、增加状态等操作,选中的数据可能是单条数据,也可能是成百上千条数据。当用户选择想要更改操作的按钮后,点击确定,即向服务器提交了数据处理请求,用户希望尽快地获得快速准确无误的反馈。
步骤501:后端确定数据处理请求通过合法性校验后,将数据处理请求发送到服务端。
进一步地,后端还可以进行其它预处理工作,进而后端确定校验通过并进行预处理后,将数据打包发送到远程的服务端,以使服务端执行后续操作流程。
其中,后端和服务端之间数据传输可以使用RPC协议,本申请实施例中并不进行限制。
步骤502:服务端确定数据处理请求的当前处理方式,若是同步处理方式,则执行步骤503,若是异步处理方式,则执行步骤504。
本申请实施例中,服务端接收到后端发送的数据处理请求后,进行解析,并判断确定本次数据处理请求所应使用的处理方式。
步骤503:执行同步处理方式的处理流程。
步骤504:执行异步处理方式的处理流程。
这样,判断出当前处理方式后,将数据处理请求分发到不同处理方式的模块,开始处理流程。
下面分别对上述步骤503和步骤504的具体处理流程进行说明。
参阅图6所示,为本申请实施例中同步处理方式的处理流程示意图,该方法包括:
步骤600:同步处理方式。
步骤601:服务端判断数据处理请求中待处理数据是否为单个,若是,则执行步骤602,否则,则执行步骤604。
步骤602:服务端调用相应处理接口对待处理数据进行处理。
步骤603:服务端将处理结果和所述当前处理方式返回到后端。
具体地,服务端可以将本次的处理结果和当前处理方式一起打包,调用RPC协议返回到后端。
步骤604:服务端采用协程方式分别对每个待处理数据进行处理。
步骤605:服务端确定每个待处理数据均处理完成后,将每个待处理数据的处理结果和当前处理方式返回到后端。
步骤606:后端接收服务端返回的处理结果和当前处理方式,并按照约定格式发送给客户端。
步骤607:客户端根据当前处理方式,展示处理结果。
参阅图7所示,为本申请实施例中异步处理方式的处理流程示意图,该方法包括:
步骤700:异步处理方式。
步骤701:服务端针对数据处理请求建立请求处理任务,并确定请求处理任务的标识。
其中,请求处理任务是一个异步任务,异步任务有一个轮询脚本,用于处理待处理数据。
步骤702:服务端将每个待处理数据进行存储。
这样,将每个待处理数据存储后,通过循环调用轮询脚本,将会一次处理一条存储中的待处理数据,并更新处理进度。
步骤703:服务端依次对每个待处理数据进行处理,并将处理完成的待处理数据的处理结果进行存储。
其中处理结果包括待处理数据处理成功,或处理失败的具体原因和错误码等失败详情信息。
步骤704:服务端将当前处理方式和请求处理任务的标识,返回给后端。
具体地,服务端可以在将每个待处理数据存储成功后,可以返回,将当前处理方式和请求处理任务的标识返回给后端。
步骤705:后端接收服务端返回的请求处理任务的标识和当前处理方式,并按照约定格式发送给客户端。
步骤706:客户端根据当前处理方式和请求处理任务的标识,发起异步处理进度轮询,请求查询当前处理进度。
下面对上述步骤706中在异步处理方式下,客户端发起异步处理进度轮询时的具体处理流程进行说明。
参阅图8所示,为本申请实施例中异步处理进度轮询的处理流程示意图,该方法包括:
步骤800:客户端发送处理进度查询请求。
其中,处理进度查询请求中至少包括请求处理任务的标识。
步骤801:服务端查询请求处理任务的处理进度。
其中,这里也是客户端将处理进度查询请求发送到后端,后端再将该处理进度查询请求发送到服务端。
进一步地,服务端在处理请求处理任务时,可以统计处理进度,具体地,1)服务端若确定请求处理任务未处理完成,只返回当前的处理进度;2)若确定请求处理任务处理完成,返回处理进度为处理完成,并请求处理任务处理失败,则将处理失败的请求处理任务的详情信息整理成文件进行存储,例如文件为Excel表格,返回文件的存储数据库中的标识,或请求处理任务中一部分待处理数据处理成功,一部分处理失败,则也可以统计处理失败的待处理数据的失败详情信息。
步骤802:服务端从存储数据库中获取处理结果。
其中,处理结果为处理进度、处理成功或处理失败描述信息。
步骤803:后端接收服务端返回的处理结果并发送到客户端。
步骤804:客户端展示处理结果。
具体地,针对未处理完成的情况,更新处理进度,例如更新展示的进度条;针对处理完成的情况,展示处理完成,并展示处理成功,若有处理失败的待处理数据,展示处理失败描述信息所对应的文件的下载链接,以使用户可以通过该下载链接,获得处理失败描述信息。
这样,本申请实施例中,客户端可以通过数据处理控制界面,批量处理数据,向服务器发送数据处理请求,服务器确定针对本次数据处理请求的当前处理方式,并根据当前处理方式进行处理,将当前处理方式和处理结果发送给客户端,客户端可以根据当前处理方式,展示处理结果,可以适用于对数据进行批量处理的场景,可以根据用户选择待处理数据的数量和其它处理性能指示参数,确定当前处理方式,无需用户进行任何其它选择,可以自适应确定更加合适的处理方式,能够及时快速地反馈用户,极大提高了用户使用体验和操作效率。
基于上述实施例,下面从产品实现侧对本申请实施例中数据请求处理方法进行说明,主要针对客户端的界面展示的产品实现,以应用于企业产品对数据进行批量处理的场景为例。
1)参阅图9A所示,为本申请实施例中客户端通过数据处理控制界面上选择待处理数据指示信息的界面示意图,图9A为某企业产品中线索库的数据处理控制界面,数据处理控制界面上数据以列表形式分页展示,每页可以设置显示的数量,例如每页显示15条,用户可以在该界面上选中需要处理的数据,选择数据后,可以选择修改属性、状态、批量删除、批量传输到其它数据库等操作,例如图9A所示,线索库中每条数据为一条线索,可以选择修改“线索状态”、“线索标签”、“批量删除”、“线索流转”功能按钮,选择后点击确定提交,即向服务器发送数据处理请求。
2)进而服务器确定当前处理方式,并对待处理数据指示信息对应的待处理数据进行处理,并将当前处理方式和处理结果发送给客户端,客户端可以根据不同的当前处理方式,展示处理结果。
具体地,(1)在同步处理方式下,服务器可以直接返回当前处理方式和处理结果,客户端进行同步展示,参阅图9B所示,为本申请实施例中同步处理方式时处理成功界面展示示意图,如图9B所示,以对待处理数据进行状态修改为例,处理成功时,可以显示“状态修改成功”提示消息。
参阅图9C所示,为本申请实施例中同步处理方式时处理失败界面展示示意图,处理失败时,可以显示“网络异常,状态修改失败”提示消息。
这样,在选择待处理数据量的数量较小情况下,和/或处理性能指示参数符合同步处理环境条件可以采用同步处理方式,处理时间短,处理结果可以快速及时返回给客户端。
(2)在异步处理方式下,客户端可以轮询处理进度,并进行展示。
例如,参阅图9D所示,为本申请实施例中异步处理方式时处理未完成界面展示示意图,在处理未完成时,客户端接收处理进度,并更新展示当前的处理进度,例如显示“1500条线索正在修改线索状态,请等待完成后再操作”提示消息。
又例如,参阅图9E所示,为本申请实施例中异步处理方式时处理完成并处理成功界面展示示意图,处理完成后,若确定处理成功,服务器可以返回处理成功的处理结果,客户端进行展示,例如显示“已成功将1000条线索状态修改”。
又例如,参阅图9F所示,为本申请实施例中异步处理方式时处理完成并处理失败界面展示示意图,处理失败时,可以显示“网络异常,线索状态修改失败”提示消息,进一步地还可以显示处理失败的描述信息的下载链接等,以使用户可以通过该下载链接获知处理失败的详情信息。
这样,在用户选择待处理数据的数量较大的情况下,可以采用异步处理方式,在后台进行数据的处理,处理进度、处理成功或处理失败的结果可以展示在界面上,不需要用户在该界面等待操作完成才能进行其它操作,采用异步处理方式不会影响用户继续进行其它操作。
本申请实施例中,服务器会根据待处理数据的数量,和/或当前处理性能指示参数,来判断采用哪种处理方式,采用同步处理方式还是异步处理方式,可以更加适用当前数据处理请求,极大提升用户的使用体验和操作效率。
需要说明的是,上述界面效果图仅是一种可能的示例,不应对本申请实施例进行限制。
基于同一发明构思,本申请实施例中还提供了一种数据请求处理装置,该数据请求处理装置例如可以是前述实施例中的服务器,该数据请求处理装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图10所示,本申请实施例中一种数据请求处理装置,具体包括:
接收模块1000,用于接收客户端发送的数据处理请求,其中,所述数据处理请求是用户通过所述客户端上显示的数据处理控制界面触发的,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
确定模块1010,用于确定所述数据处理请求的当前处理方式,其中,所述当前处理方式为同步处理方式或异步处理方式;
处理模块1020,用于根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,以使所述客户端根据所述当前处理方式,展示所述处理结果。
可选的,所述确定所述数据处理请求的当前处理方式之前,确定模块1010进一步用于:
确定所述数据处理请求通过合法性校验。
可选的,确定所述数据处理请求的当前处理方式时,确定模块1010具体用于:
根据所述数据处理请求中待处理数据的数量,和/或当前处理性能指示参数,确定所述数据处理请求的当前处理方式。
可选的,所述根据所述数据处理请求中待处理数据的数量,确定所述数据处理请求的当前处理方式时,确定模块1010具体用于:若所述待处理数据的数量不大于设定数量,则确定所述数据处理请求的当前处理方式为同步处理方式,否则,确定所述数据处理请求的当前处理方式为异步处理方式;
所述根据当前处理性能指示参数,确定所述数据处理请求的当前处理方式时,确定模块1010具体用于:若所述当前处理性能指示参数符合同步处理环境条件,则确定所述数据处理请求的当前处理方式为同步处理方式,否则,确定所述数据处理请求的当前处理方式为异步处理方式;
所述根据所述数据处理请求中待处理数据的数量和当前处理性能指示参数,确定所述数据处理请求的当前处理方式时,确定模块1010,具体用于:
若所述待处理数据的数量不大于设定数量,并所述当前处理性能指示参数符合同步处理环境条件,则确定所述数据处理请求的当前处理方式为同步处理方式,否则,确定所述数据处理请求的当前处理方式为异步处理方式。
可选的,若所述当前处理方式为同步处理方式,则根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端时,处理模块1020具体用于:
所述待处理数据的数量为单个时,调用相应处理接口对所述待处理数据进行处理;
所述待处理数据的数量为多个时,则采用协程方式分别对每个待处理数据进行处理,确定所述每个待处理数据均处理完成后,获得所述每个待处理数据的处理结果;
返回所述当前处理方式为同步处理方式,并待处理数据已处理完成的处理结果。
可选的,若所述当前处理方式为异步处理方式,则根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端时,处理模块1020具体用于:
针对所述数据处理请求建立请求处理任务,确定所述请求处理任务的标识;
将每个待处理数据进行存储,依次对所述每个待处理数据进行处理,每处理完成一个待处理数据,将处理完成的待处理数据的处理结果进行存储;
返回所述当前处理方式为异步处理方式,并返回所述请求处理任务的标识,以使所述客户端根据所述当前处理方式和所述请求处理任务的标识,请求获取所述请求处理任务中每个待处理数据的处理结果。
可选的,以使所述客户端根据所述当前处理方式和所述请求处理任务的标识,请求获取所述请求处理任务中每个待处理数据的处理结果时,处理模块1020具体用于:
接收所述客户端发送的处理进度查询请求,其中,所述处理进度查询请求中至少包括所述请求处理任务的标识;
若确定所述请求处理任务未处理完成,则返回所述请求处理任务的处理进度的处理结果;
若确定所述请求处理任务处理完成,则返回处理进度为已处理完成,以及包含处理成功或处理失败描述信息的处理结果,其中,所述处理失败描述信息中包括处理失败的待处理数据的失败详情信息或处理失败的所述请求处理任务的失败详情信息。
基于同一发明构思,本申请实施例中还提供了一种数据请求处理装置,该数据请求处理装置例如可以是前述实施例中的客户端,该数据请求处理装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图11所示,本申请实施例中另一种数据请求处理装置,具体包括:
发送模块1100,用于通过显示的数据处理控制界面,向服务器发送数据处理请求,其中,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
接收模块1110,用于接收服务器针对所述数据处理请求返回的当前处理方式和处理结果,其中,所述当前处理方式是所述服务器确定的,所述处理结果是所述服务器根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理后获得的,所述当前处理方式为同步处理方式或异步处理方式;
展示模块1120,用于根据所述当前处理方式,展示所述处理结果。
可选的,若所述当前处理方式为同步处理方式,则所述处理结果是所述服务器对所述待处理数据已处理完成后返回的,根据所述当前处理方式,展示所述处理结果时,展示模块1120具体用于:
确定所述当前处理方式为同步处理方式,则展示所述处理结果。
可选的,若所述当前处理方式为异步处理方式,则接收服务器针对所述数据处理请求返回的当前处理方式和处理结果时,接收模块1110具体用于:
接收所述服务器返回的当前处理方式和请求处理任务的标识,其中,所述请求处理任务的标识是所述服务器确定所述当前处理方式为异步处理方式后,针对所述数据处理请求建立请求处理任务并确定的;
确定所述当前处理方式为异步处理方式后,向所述服务器发送处理进度查询请求,其中,所述处理进度查询请求中至少包括所述请求处理任务的标识;
接收所述服务器返回的处理结果,其中,所述处理结果为:包括所述请求处理任务未处理完成的处理进度的处理结果、包括所述请求处理任务处理完成的已处理完成,以及处理成功或处理失败描述信息的处理结果;
则根据所述当前处理方式,展示所述处理结果时,展示模块1120具体用于:每次接收到所述服务器返回的处理结果后,展示所述处理结果。
基于上述实施例,参阅图12所示为本申请实施例中计算机设备的结构示意图。
本申请实施例提供了一种计算机设备,该计算机设备可以包括处理器1210(Center Processing Unit,CPU)、存储器1220、输入设备1230和输出设备1240等,输入设备1230可以包括键盘、鼠标、触摸屏等,输出设备1240可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器1220可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器1210提供存储器1220中存储的程序指令和数据。在本申请实施例中,存储器1220可以用于存储本申请实施例中任一种数据请求处理方法的程序。
处理器1210通过调用存储器1220存储的程序指令,处理器1210用于按照获得的程序指令执行本申请实施例中任一种数据请求处理方法。
基于上述实施例,本发明实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的数据请求处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种数据请求处理方法,其特征在于,包括:
接收客户端发送的数据处理请求,其中,所述数据处理请求是用户通过所述客户端上显示的数据处理控制界面触发的,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
确定所述数据处理请求的当前处理方式,其中,所述当前处理方式为同步处理方式或异步处理方式;
根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,以使所述客户端根据所述当前处理方式,展示所述处理结果。
2.如权利要求1所述的方法,其特征在于,所述确定所述数据处理请求的当前处理方式之前,进一步包括:
确定所述数据处理请求通过合法性校验。
3.如权利要求1所述的方法,其特征在于,确定所述数据处理请求的当前处理方式,具体包括:
根据所述数据处理请求中待处理数据的数量,和/或当前处理性能指示参数,确定所述数据处理请求的当前处理方式。
4.如权利要求3所述的方法,其特征在于:
所述根据所述数据处理请求中待处理数据的数量,确定所述数据处理请求的当前处理方式,具体包括:若所述待处理数据的数量不大于设定数量,则确定所述数据处理请求的当前处理方式为同步处理方式,否则,确定所述数据处理请求的当前处理方式为异步处理方式;
所述根据当前处理性能指示参数,确定所述数据处理请求的当前处理方式,具体包括:若所述当前处理性能指示参数符合同步处理环境条件,则确定所述数据处理请求的当前处理方式为同步处理方式,否则,确定所述数据处理请求的当前处理方式为异步处理方式;
所述根据所述数据处理请求中待处理数据的数量和当前处理性能指示参数,确定所述数据处理请求的当前处理方式,具体包括:
若所述待处理数据的数量不大于设定数量,并所述当前处理性能指示参数符合同步处理环境条件,则确定所述数据处理请求的当前处理方式为同步处理方式,否则,确定所述数据处理请求的当前处理方式为异步处理方式。
5.如权利要求1-4任一项所述的方法,其特征在于,若所述当前处理方式为同步处理方式,则根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,具体包括:
所述待处理数据的数量为单个时,调用相应处理接口对所述待处理数据进行处理;
所述待处理数据的数量为多个时,则采用协程方式分别对每个待处理数据进行处理,确定所述每个待处理数据均处理完成后,获得所述每个待处理数据的处理结果;
返回所述当前处理方式为同步处理方式,并待处理数据已处理完成的处理结果。
6.如权利要求1-4任一项所述的方法,其特征在于,若所述当前处理方式为异步处理方式,则根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,具体包括:
针对所述数据处理请求建立请求处理任务,确定所述请求处理任务的标识;
将每个待处理数据进行存储,依次对所述每个待处理数据进行处理,每处理完成一个待处理数据,将处理完成的待处理数据的处理结果进行存储;
返回所述当前处理方式为异步处理方式,并返回所述请求处理任务的标识,以使所述客户端根据所述当前处理方式和所述请求处理任务的标识,请求获取所述请求处理任务中每个待处理数据的处理结果。
7.如权利要求6所述的方法,其特征在于,以使所述客户端根据所述当前处理方式和所述请求处理任务的标识,请求获取所述请求处理任务中每个待处理数据的处理结果,具体包括:
接收所述客户端发送的处理进度查询请求,其中,所述处理进度查询请求中至少包括所述请求处理任务的标识;
若确定所述请求处理任务未处理完成,则返回所述请求处理任务的处理进度的处理结果;
若确定所述请求处理任务处理完成,则返回处理进度为已处理完成,以及包含处理成功或处理失败描述信息的处理结果,其中,所述处理失败描述信息中包括处理失败的待处理数据的失败详情信息或处理失败的所述请求处理任务的失败详情信息。
8.一种数据请求处理方法,其特征在于,包括:
通过显示的数据处理控制界面,向服务器发送数据处理请求,其中,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
接收服务器针对所述数据处理请求返回的当前处理方式和处理结果,其中,所述当前处理方式是所述服务器确定的,所述处理结果是所述服务器根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理后获得的,所述当前处理方式为同步处理方式或异步处理方式;
根据所述当前处理方式,展示所述处理结果。
9.如权利要求8所述的方法,其特征在于,若所述当前处理方式为同步处理方式,则所述处理结果是所述服务器对所述待处理数据已处理完成后返回的,根据所述当前处理方式,展示所述处理结果,具体包括:
确定所述当前处理方式为同步处理方式,则展示所述处理结果。
10.如权利要求8所述的方法,其特征在于,若所述当前处理方式为异步处理方式,则接收服务器针对所述数据处理请求返回的当前处理方式和处理结果,具体包括:
接收所述服务器返回的当前处理方式和请求处理任务的标识,其中,所述请求处理任务的标识是所述服务器确定所述当前处理方式为异步处理方式后,针对所述数据处理请求建立请求处理任务并确定的;
确定所述当前处理方式为异步处理方式后,向所述服务器发送处理进度查询请求,其中,所述处理进度查询请求中至少包括所述请求处理任务的标识;
接收所述服务器返回的处理结果,其中,所述处理结果为:包括所述请求处理任务未处理完成的处理进度的处理结果、包括所述请求处理任务处理完成的已处理完成,以及处理成功或处理失败描述信息的处理结果;
则根据所述当前处理方式,展示所述处理结果,具体包括:
每次接收到所述服务器返回的处理结果后,展示所述处理结果。
11.一种数据请求处理装置,其特征在于,包括:
接收模块,用于接收客户端发送的数据处理请求,其中,所述数据处理请求是用户通过所述客户端上显示的数据处理控制界面触发的,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
确定模块,用于确定所述数据处理请求的当前处理方式,其中,所述当前处理方式为同步处理方式或异步处理方式;
处理模块,用于根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理,并将所述当前处理方式和处理结果发送给所述客户端,以使所述客户端根据所述当前处理方式,展示所述处理结果。
12.一种数据请求处理装置,其特征在于,包括:
发送模块,用于通过显示的数据处理控制界面,向服务器发送数据处理请求,其中,所述数据处理请求中至少包括通过所述数据处理控制界面选择的待处理数据指示信息;
接收模块,用于接收服务器针对所述数据处理请求返回的当前处理方式和处理结果,其中,所述当前处理方式是所述服务器确定的,所述处理结果是所述服务器根据所述当前处理方式,对所述待处理数据指示信息对应的待处理数据进行处理后获得的,所述当前处理方式为同步处理方式或异步处理方式;
展示模块,用于根据所述当前处理方式,展示所述处理结果。
13.如权利要求12所述的装置,其特征在于,若所述当前处理方式为同步处理方式,则所述处理结果是所述服务器对所述待处理数据已处理完成后返回的,根据所述当前处理方式,展示所述处理结果时,展示模块具体用于:
确定所述当前处理方式为同步处理方式,则展示所述处理结果。
14.如权利要求12所述的装置,其特征在于,若所述当前处理方式为异步处理方式,则接收服务器针对所述数据处理请求返回的当前处理方式和处理结果时,接收模块具体用于:
接收所述服务器返回的当前处理方式和请求处理任务的标识,其中,所述请求处理任务的标识是所述服务器确定所述当前处理方式为异步处理方式后,针对所述数据处理请求建立请求处理任务并确定的;
确定所述当前处理方式为异步处理方式后,向所述服务器发送处理进度查询请求,其中,所述处理进度查询请求中至少包括所述请求处理任务的标识;
接收所述服务器返回的处理结果,其中,所述处理结果为:包括所述请求处理任务未处理完成的处理进度的处理结果、包括所述请求处理任务处理完成的已处理完成,以及处理成功或处理失败描述信息的处理结果;
则根据所述当前处理方式,展示所述处理结果时,展示模块具体用于:
每次接收到所述服务器返回的处理结果后,展示所述处理结果。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7或8-10任一项所述方法的步骤。
CN201911167574.7A 2019-11-25 2019-11-25 一种数据请求处理方法及装置 Pending CN111176858A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911167574.7A CN111176858A (zh) 2019-11-25 2019-11-25 一种数据请求处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911167574.7A CN111176858A (zh) 2019-11-25 2019-11-25 一种数据请求处理方法及装置

Publications (1)

Publication Number Publication Date
CN111176858A true CN111176858A (zh) 2020-05-19

Family

ID=70648813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911167574.7A Pending CN111176858A (zh) 2019-11-25 2019-11-25 一种数据请求处理方法及装置

Country Status (1)

Country Link
CN (1) CN111176858A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597060A (zh) * 2020-05-21 2020-08-28 苏州朗动网络科技有限公司 数据调用方法、装置、计算机设备和存储介质
CN111741080A (zh) * 2020-06-02 2020-10-02 拉卡拉支付股份有限公司 网络文件分发方法及装置
CN111858078A (zh) * 2020-07-15 2020-10-30 江门市俐通环保科技有限公司 高并发数据擦除方法、装置、设备及存储介质
CN112019870A (zh) * 2020-08-27 2020-12-01 北京一起教育信息咨询有限责任公司 消息分级处理方法、装置及电子设备
CN112035259A (zh) * 2020-09-01 2020-12-04 中国银行股份有限公司 一种数据处理系统、方法及服务器群
CN112169341A (zh) * 2020-09-29 2021-01-05 苏州亿歌网络科技有限公司 一种游戏数据处理的方法、装置、设备及存储介质
CN112559226A (zh) * 2020-12-25 2021-03-26 天津中新智冠信息技术有限公司 消息管理平台、消息处理方法、存储介质及电子设备
CN112597419A (zh) * 2020-12-25 2021-04-02 珠海金山网络游戏科技有限公司 数据同步方法及装置
CN112882787A (zh) * 2021-02-24 2021-06-01 中国电力科学研究院有限公司 一种数据可视化处理方法、装置、介质及电子设备
CN113065054A (zh) * 2021-03-31 2021-07-02 北京达佳互联信息技术有限公司 请求处理方法、装置、电子设备及存储介质
CN113839953A (zh) * 2021-09-27 2021-12-24 上海商汤科技开发有限公司 一种标注方法及装置、电子设备和存储介质
CN114125479A (zh) * 2021-11-05 2022-03-01 游艺星际(北京)科技有限公司 信息处理方法、装置、电子设备和存储介质
CN114390014A (zh) * 2022-01-22 2022-04-22 旭儒世纪(山东)信息技术有限公司 在高速网络环境中提高通讯并发量的业务处理方法及系统
CN115834704A (zh) * 2022-11-04 2023-03-21 广东杰诺软件科技有限公司 一种耗时网络请求服务端自动异步处理方法及处理系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556678A (zh) * 2009-05-21 2009-10-14 中国建设银行股份有限公司 一种批处理业务的处理方法、系统及业务处理控制设备
CN103533002A (zh) * 2012-07-05 2014-01-22 阿里巴巴集团控股有限公司 一种数据处理方法和系统
CN104408065A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种联机查询交易信息的方法及装置
US20150339354A1 (en) * 2014-05-22 2015-11-26 Bio-Rad Laboratories (Israel) Inc. System and method for real time display of diagnostic laboratory data
CN106034113A (zh) * 2015-03-12 2016-10-19 阿里巴巴集团控股有限公司 数据处理方法及装置
CN106850830A (zh) * 2017-02-28 2017-06-13 北京神州绿盟信息安全科技股份有限公司 一种业务请求处理方法、装置、系统和相关服务器
CN107798108A (zh) * 2017-10-30 2018-03-13 中国联合网络通信集团有限公司 一种异步任务查询方法及设备
CN108805667A (zh) * 2018-05-30 2018-11-13 平安科技(深圳)有限公司 订单流程处理方法和系统
WO2019196244A1 (zh) * 2018-04-10 2019-10-17 平安科技(深圳)有限公司 实时回调订单的方法和系统
CN110365752A (zh) * 2019-06-27 2019-10-22 北京大米科技有限公司 业务数据的处理方法、装置、电子设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556678A (zh) * 2009-05-21 2009-10-14 中国建设银行股份有限公司 一种批处理业务的处理方法、系统及业务处理控制设备
CN103533002A (zh) * 2012-07-05 2014-01-22 阿里巴巴集团控股有限公司 一种数据处理方法和系统
US20150339354A1 (en) * 2014-05-22 2015-11-26 Bio-Rad Laboratories (Israel) Inc. System and method for real time display of diagnostic laboratory data
CN104408065A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种联机查询交易信息的方法及装置
CN106034113A (zh) * 2015-03-12 2016-10-19 阿里巴巴集团控股有限公司 数据处理方法及装置
CN106850830A (zh) * 2017-02-28 2017-06-13 北京神州绿盟信息安全科技股份有限公司 一种业务请求处理方法、装置、系统和相关服务器
CN107798108A (zh) * 2017-10-30 2018-03-13 中国联合网络通信集团有限公司 一种异步任务查询方法及设备
WO2019196244A1 (zh) * 2018-04-10 2019-10-17 平安科技(深圳)有限公司 实时回调订单的方法和系统
CN108805667A (zh) * 2018-05-30 2018-11-13 平安科技(深圳)有限公司 订单流程处理方法和系统
CN110365752A (zh) * 2019-06-27 2019-10-22 北京大米科技有限公司 业务数据的处理方法、装置、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
薛迎成 等: "工控机及组态控制技术原理与应用", 31 March 2007, 中国电力出版社, pages: 213 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597060A (zh) * 2020-05-21 2020-08-28 苏州朗动网络科技有限公司 数据调用方法、装置、计算机设备和存储介质
CN111741080A (zh) * 2020-06-02 2020-10-02 拉卡拉支付股份有限公司 网络文件分发方法及装置
CN111741080B (zh) * 2020-06-02 2023-09-29 拉卡拉支付股份有限公司 网络文件分发方法及装置
CN111858078A (zh) * 2020-07-15 2020-10-30 江门市俐通环保科技有限公司 高并发数据擦除方法、装置、设备及存储介质
CN111858078B (zh) * 2020-07-15 2024-06-04 江门市俐通环保科技有限公司 高并发数据擦除方法、装置、设备及存储介质
CN112019870A (zh) * 2020-08-27 2020-12-01 北京一起教育信息咨询有限责任公司 消息分级处理方法、装置及电子设备
CN112035259A (zh) * 2020-09-01 2020-12-04 中国银行股份有限公司 一种数据处理系统、方法及服务器群
CN112169341A (zh) * 2020-09-29 2021-01-05 苏州亿歌网络科技有限公司 一种游戏数据处理的方法、装置、设备及存储介质
CN112559226B (zh) * 2020-12-25 2021-12-21 天津中新智冠信息技术有限公司 消息管理平台、消息处理方法、存储介质及电子设备
CN112597419A (zh) * 2020-12-25 2021-04-02 珠海金山网络游戏科技有限公司 数据同步方法及装置
CN112559226A (zh) * 2020-12-25 2021-03-26 天津中新智冠信息技术有限公司 消息管理平台、消息处理方法、存储介质及电子设备
CN112882787A (zh) * 2021-02-24 2021-06-01 中国电力科学研究院有限公司 一种数据可视化处理方法、装置、介质及电子设备
CN113065054A (zh) * 2021-03-31 2021-07-02 北京达佳互联信息技术有限公司 请求处理方法、装置、电子设备及存储介质
CN113065054B (zh) * 2021-03-31 2024-03-01 北京达佳互联信息技术有限公司 请求处理方法、装置、电子设备及存储介质
CN113839953A (zh) * 2021-09-27 2021-12-24 上海商汤科技开发有限公司 一种标注方法及装置、电子设备和存储介质
CN114125479A (zh) * 2021-11-05 2022-03-01 游艺星际(北京)科技有限公司 信息处理方法、装置、电子设备和存储介质
CN114125479B (zh) * 2021-11-05 2023-12-19 游艺星际(北京)科技有限公司 信息处理方法、装置、电子设备和存储介质
CN114390014A (zh) * 2022-01-22 2022-04-22 旭儒世纪(山东)信息技术有限公司 在高速网络环境中提高通讯并发量的业务处理方法及系统
CN114390014B (zh) * 2022-01-22 2022-12-09 旭儒世纪(山东)信息技术有限公司 在高速网络环境中提高通讯并发量的业务处理方法及系统
CN115834704A (zh) * 2022-11-04 2023-03-21 广东杰诺软件科技有限公司 一种耗时网络请求服务端自动异步处理方法及处理系统

Similar Documents

Publication Publication Date Title
CN111176858A (zh) 一种数据请求处理方法及装置
US10387856B2 (en) Online payment method, system, and apparatus
JP6742650B2 (ja) モバイルブラウザを用いたアプリケーションの呼び出し方法及び装置
CN109327490B (zh) 一种部署云服务组件的方法和服务器
CN111277639B (zh) 一种保持数据一致性的方法和装置
CN107437222B (zh) 基于银行柜面前端的联机业务数据的处理方法及系统
US8032587B2 (en) Method and apparatus for client-side aggregation of asynchronous fragmented requests
JP2001525574A (ja) クライアント・サーバ・システムにおける長期トランザクションの処理
CN108681777B (zh) 一种基于分布式系统的机器学习程序运行的方法和装置
CN108011909B (zh) 通信方法和系统、电子设备和计算机集群
CN108733720B (zh) 多数据库类型的sql查询的在线校验方法和校验系统
WO2021217928A1 (zh) 基于区块链网络的资源请求交易验证方法、装置、电子设备及计算机可读存储介质
US11093309B1 (en) Communication hub for information technology (IT) services
CN115114044A (zh) 消息推送方法、装置、设备和介质
CN107295003B (zh) 一种数据传输方法、装置及系统
CN111552901B (zh) H5跨引擎客户端数据自动化更新的方法、存储介质
CN111694620A (zh) 第三方业务的交互方法、装置、设备及计算机存储介质
US8793398B2 (en) Facilitating client server interaction
CN111159300A (zh) 基于区块链的数据处理方法及装置
CN107438097B (zh) 网络请求处理方法及装置
CN106933932B (zh) 数据处理方法、装置及应用服务器
CN110381143B (zh) 作业提交执行方法、装置、设备及计算机存储介质
CN117119078A (zh) 基于Kubernetes集群互联互通调度框架的隐私任务调度方法及装置
US9553935B2 (en) Mechanism for configuring service endpoints in native client applications at runtime
US10728323B2 (en) Method and apparatus for operating infrastructure layer in cloud computing architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination