CN107798108A - 一种异步任务查询方法及设备 - Google Patents
一种异步任务查询方法及设备 Download PDFInfo
- Publication number
- CN107798108A CN107798108A CN201711052232.1A CN201711052232A CN107798108A CN 107798108 A CN107798108 A CN 107798108A CN 201711052232 A CN201711052232 A CN 201711052232A CN 107798108 A CN107798108 A CN 107798108A
- Authority
- CN
- China
- Prior art keywords
- task
- server
- client
- progress
- identification
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种异步任务查询方法及设备,涉及通信领域,在客户端需要查询任务的执行状态时,实现了任务执行进度的百分比,以及任务执行过程中的具体细节等的显示。具体方案为:服务器接收客户端发送的包含有任务标识的任务进度查询请求,并根据任务标识和任务进度键值对,获得与任务标识对应的结构化对象,且向客户端发送包含有结构化对象的任务进度响应消息,任务进度键值对中包括任务标识和结构化对象,结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间百分比、操作明细、运行状态、运行结果和实际运行时间。本申请实施例用于异步查询的过程中。
Description
技术领域
本申请实施例涉及通信领域,尤其涉及一种异步任务查询方法及设备。
背景技术
现今的互联网应用通常在客户端和服务器之间进行交互,具体的:客户端可以向服务器发送服务请求,服务器便可以在接收到服务请求后执行相应的任务来响应请求,并向客户端返回任务执行的结果,以便客户端显示该结果,供用户查看。
目前,在异步的任务交互模式下,服务器可以在完成任务之前向客户端返回包括有任务标识(task ID)的响应消息,同时在后台执行该任务。这样客户端便可以在接收到响应消息后开始执行其他的操作,而无需一直等待服务器返回任务执行的结果。且当用户需要查询任务的执行状态时,可以向服务器发送包含有任务标识的查询请求,服务器便可以在接收到查询请求后,查询与任务标识对应的任务状态,并在确定任务状态显示为未成功时,向客户端返回查询到的任务处理信息。
在现有技术中,客户端显示的任务处理信息只会包含当前任务的简单信息,如任务是否正在运行、运行结果是成功还是失败、以及任务的最终输出结果等。但是,随着异步查询方法的发展,为了更大程度地提高用户体验,如何使得客户端能够显示出当前任务执行进度的百分比,以及任务执行过程中的具体细节,如哪些步骤已经完成,哪些步骤运行失败,目前正在运行哪个步骤等已成为本领域技术人员研究的课题。
发明内容
本申请实施例提供一种异步任务查询方法及设备,在客户端需要查询任务的执行状态时,实现了任务执行进度的百分比,以及任务执行过程中的具体细节等的显示。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种异步任务查询方法,该方法可以包括:服务器接收客户端发送的包含有任务标识的任务进度查询请求,并根据任务标识和存储的任务进度键值对,获得与任务标识对应的结构化对象,且向客户端发送包含有结构化对象的任务进度响应消息。其中,任务进度键值对中包括任务标识和结构化对象,结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间百分比、操作明细、运行状态、运行结果和实际运行时间,N为正整数,运行状态包括正在运行、运行出错、还未运行,运行结果包括正常、异常、以及异常原因。
本申请实施例提供的异步任务查询方法,服务器在接收到客户端发送的任务进度查询请求后,根据任务进度查询请求中包含的任务标识,以及存储的任务进度键值对,获得结构化对象,并向客户端返回包含有结构化对象的任务进度响应消息。这样,在客户端需要查询任务的执行状态时,由于服务器中存储有目前该任务的执行情况,如执行该任务总的步骤N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间百分比、运行状态、操作明细、运行结果和实际运行时间,因此服务器便可以向客户端返回查询到的目前该任务的执行情况,以便客户端接收并显示该任务的执行进度百分比,以及该任务执行过程中的具体细节,从而很大程度的提高了用户体验。
第二方面,本申请提供一种异步任务查询方法,该方法可以包括:客户端向服务器发送包含有任务标识的任务进度查询请求,并接收服务器返回的任务进度响应消息,且客户端解析接收到的该任务进度响应消息,获得结构化对象,并将结构化对象包含的已完成步骤中每个步骤对应的预估运行时间的百分比之和作为任务的执行进度百分比,且显示该任务的执行进度百分比,以及显示结构化对象包含的任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的操作明细、运行状态、运行结果和实际运行时间。其中,结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间,N为正整数,运行状态包括正在运行、运行出错、还未运行,运行结果包括正常、异常、以及异常原因。
本申请实施例提供的异步任务查询方法,客户端在向服务器发送了任务进度查询请求后,接收服务器返回的任务进度响应消息,并通过解析该任务进度响应消息,获得结构化对象,客户端将结构化对象包含的已完成的步骤中每个步骤对应的预估运行时间的百分比之和作为任务的执行进度百分比,并显示该任务的执行进度百分比,以及显示结构化对象包含的任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的运行状态、操作明细、运行结果和实际运行时间。这样,在客户端需要查询任务的执行状态时,由于服务器可以向客户端返回存储的目前该任务的执行情况,客户端便可以接收并显示该任务的执行进度百分比,以及该任务执行过程中的具体细节,以供用户查看,从而很大程度的提高了用户体验。
第三方面,本申请提供一种服务器,该服务器可以包括:接收单元、获取单元和发送单元。其中,接收单元,用于接收客户端发送的包含有任务标识的任务进度查询请求。获取单元,用于根据任务标识和存储的任务进度键值对,获得与任务标识对应的结构化对象。发送单元,用于向客户端发送包含有结构化对象的任务进度响应消息。其中,任务进度键值对中包括任务标识和结构化对象,结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间百分比、操作明细、运行状态、运行结果和实际运行时间,N为正整数,运行状态包括正在运行、运行出错、还未运行,运行结果包括正常、异常、以及异常原因。
具体的实现方式可以参考第一方面提供的异步任务查询方法中服务器的行为功能。
第四方面,本申请提供一种客户端,该客户端可以包括:发送单元、接收单元、处理单元和显示单元。其中,发送单元,用于向服务器发送包含有任务标识的任务进度查询请求。接收单元,用于接收服务器返回的任务进度响应消息。处理单元,用于解析接收单元接收的任务进度响应消息,获得结构化对象,并将结构化对象包含的已完成的步骤中每个步骤对应的预估运行时间的百分比之和作为任务的执行进度百分比。显示单元,用于显示任务的执行进度百分比,并显示结构化对象包含的任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的操作明细、运行状态、运行结果和实际运行时间。其中,结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间,N为正整数,运行状态包括正在运行、运行出错、还未运行,运行结果包括正常、异常、以及异常原因。
具体的实现方式可以参考第二方面提供的异步任务查询方法中客户端的行为功能。
第五方面,本申请提供一种服务器,该服务器包括:至少一个处理器、存储器、通信接口和通信总线。至少一个处理器与存储器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当服务器运行时,处理器执行存储器存储的计算机执行指令,以使服务器执行如第一方面或第一方面的可能的实现方式中任意一项的异步任务查询方法。
第六方面,本申请提供一种客户端,该客户端包括:至少一个处理器、存储器、显示器、通信接口和通信总线。至少一个处理器与存储器、显示器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当客户端运行时,处理器执行存储器存储的计算机执行指令,以使客户端执行如第二方面或第二方面的可能的实现方式中任意一项的异步任务查询方法。
第七方面,本申请提供一种计算机存储介质,其上存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面或第一方面的可能的实现方式中任意一项的异步任务查询方法,或当计算机执行指令在计算机上运行时,使得计算机执行如第二方面或第二方面的可能的实现方式中任意一项的异步任务查询方法。
附图说明
图1为本申请实施例提供的一种可以应用本申请实施例的系统架构的简化示意图;
图2为本申请实施例提供的一种服务器的组成示意图;
图3为本申请实施例提供的一种客户端的组成示意图;
图4为本申请实施例提供的一种异步任务查询方法的流程图;
图5为本申请实施例提供的另一种服务器的组成示意图;
图6为本申请实施例提供的另一种服务器的组成示意图;
图7为本申请实施例提供的另一种服务器的组成示意图;
图8为本申请实施例提供的另一种客户端的组成示意图;
图9为本申请实施例提供的另一种客户端的组成示意图;
图10为本申请实施例提供的另一种客户端的组成示意图。
具体实施方式
图1为本申请实施例提供的一种可以应用本申请实施例的系统架构的简化示意图,如图1所示,该系统架构可以包括:服务器11和运行有客户端的终端12。
其中,终端12上运行的客户端可以通过超文本传输协议(Hyper Text TransportProtocol,HTTP)与服务器11建立连接,并以异步的任务交互模式与服务器11进行通信。
服务器11,用于接收终端12上运行的客户端发送的服务请求,并执行相应的任务来响应请求,还用于向客户端返回包括有任务标识的服务响应消息,还用于在接收到客户端发送的包含有任务标识的任务进度查询请求后,向客户端返回查询到的结构化对象。
终端12上运行有客户端,该客户端用于向服务器11发送服务请求,还用于向服务器11发送包含有任务标识的任务进度查询请求,并接收服务器11返回的任务进度响应消息,且可以在解析该任务进度响应消息后,显示任务的执行进度百分比,以及该任务包括的每个步骤的执行情况,以供用户查看。
在具体的实现中,终端12可以为手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra)mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)、膝上型轻便电脑(laptop)等。在图1中以终端12为手机为例示出。
需要说明的是,在本申请实施例中,
图2为本申请实施例提供的一种服务器的组成示意图,如图2所示,该服务器可以包括:至少一个处理器21、存储器22、通信接口23和通信总线24。
其中,处理器21是服务器的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signalprocessor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
在具体的实现中,作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。且,作为一种实施例,服务器可以包括多个处理器,例如图2中所示的处理器21和处理器25。这些处理器中的每一个可以是一个单核处理器(single)CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器22可以是只读存储器(read)only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read)only memory,EEPROM)、只读光盘(compact disc read)only memory,CD)ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器22可以是独立存在,通过通信总线24与处理器21相连接。存储器22也可以和处理器21集成在一起。
在具体的实现中,存储器22,用于存储本申请中的数据和执行本申请的软件程序。例如,在本申请实施例中,存储器22用于存储任务进度键值对。且处理器21可以通过运行或执行存储在存储器22内的软件程序,以及调用存储在存储器22内的数据,执行服务器的各种功能。
通信接口23,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如客户端、无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口23可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线24,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图3为本申请实施例提供的一种客户端的组成示意图,如图3所示,该客户端可以包括:至少一个处理器31、存储器32、显示器33、通信接口34和通信总线35。
其中,处理器31是客户端的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器31是一个CPU,也可以是ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个DSP,或,一个或者多个FPGA。
在具体的实现中,作为一种实施例,处理器31可以包括一个或多个CPU,例如图3中所示的CPU0和CPU1。且,作为一种实施例,客户端可以包括多个处理器,例如图3中所示的处理器31和处理器36。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器32可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD)ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器32可以是独立存在,通过通信总线35与处理器31相连接。存储器32也可以和处理器31集成在一起。
在具体的实现中,存储器32,用于存储本申请中的数据和执行本申请的软件程序。例如,在本申请实施例中,存储器32用于存储接收到的任务标识和对应的任务名称。且处理器31可以通过运行或执行存储在存储器32内的软件程序,以及调用存储在存储器32内的数据,执行服务器的各种功能。
显示器33,可用于显示由用户输入的信息、提供给用户的信息以及客户端的各种菜单。例如,在本申请实施例中,显示器33,用于显示任务列表供用户选择,还用于显示任务的执行进度百分比,以及任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的操作明细、运行状态、运行结果和实际运行时间。
通信接口34,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如服务器、RAN,WLAN等。通信接口34可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线35,可以是ISA总线、PCI总线或EISA总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
为了在客户端需要查询任务的执行状态时,实现任务执行进度的百分比,以及任务执行过程中的具体细节等的显示,本申请实施例提供了一种异步任务查询方法。图4为本申请实施例提供的一种异步任务查询方法的流程图,如图4所示,该方法可以包括:
401、客户端向服务器发送服务请求。
其中,服务请求可以为统一资源定位符(uniform resource locator,URL)。当需要执行某个任务时,客户端可以在检测到用户的输入操作时,根据该任务生成URL,并通过HTTP与服务器建立连接。这样,客户端便可以通过该连接向服务器发送形式为URL的服务请求,用于请求服务器执行该任务。
402、服务器接收客户端发送的服务请求。
403、服务器根据URL查找URL路由表,获得与URL对应的任务对象。
其中,URL路由表包括URL和对应的任务对象,任务对象可以包括应用程序代码、任务名称等属性。在服务器接收到客户端发送的URL之后,服务器可以查找URL路由表,获得与URL对应的任务对象。
示例性的,假设需要执行的任务为:求A*B+C的值,那么服务器获得的任务对象可以包括:用于计算A*B+C的应用程序代码,任务名称为求A*B+C的值。
404、服务器根据任务对象生成任务标识,并将该任务标识作为任务对象包含的属性。
其中,在服务器获得与URL对应的任务对象之后,可以生成任务标识,用于唯一标识该任务对象,并将该任务标识作为该任务对象包含的属性。
需要说明的是,在具体的实现中,服务器可以采用64位的美国信息交换标准码(American standard code for information interchange,ASCII)字符串来表示任务标识。
405、服务器向客户端发送服务响应消息。
其中,服务响应消息中包括任务标识和对应的任务名称。
406、客户端接收服务器发送的服务响应消息,并在任务列表中保存任务标识和对应的任务名称。
其中,在客户端接收到服务器发送的服务响应消息之后,可以解析该服务响应消息,获得包含的任务标识和对应的任务名称,并将该任务标识和任务名称保存在任务列表中,以便用户打开任务列表后进行查看。
407、服务器确定执行任务需要的N个步骤和每个步骤的名称。
其中,在步骤405服务器向客户端发送了服务响应消息之后,服务器可以确定执行任务需要的N个步骤,并确定N个步骤中每个步骤的名称。
示例性的,按照步骤403中的例子,服务器可以确定求A*B+C的值需要两个步骤,即N为2,并确定每个步骤的名称分别为:求A和B之积X、求X和C之和。
408、服务器将任务标识作为键,将包含有任务名称、N个步骤和N个步骤中每个步骤的名称的结构化对象作为值,生成任务进度键值对,并在任务进度数据库中保存任务进度键值对。
其中,服务器在确定出执行任务需要N个步骤和每个步骤的名称之后,可以生成并保存任务进度键值对,其中键(key)为任务标识,值(value)为结构化对象,其包含任务名称、N个步骤和N个步骤中每个步骤的名称。
409、服务器根据执行任务需要的步骤划分任务对象包含的应用程序代码,获得N个原子执行单元。
其中,在步骤407服务器确定出执行任务需要N个步骤之后,服务器可以根据这些步骤将任务对象包含的应用程序代码划分为N个原子执行单元,一个步骤对应一个原子执行单元,一个原子执行单元中包含用于执行对应的步骤的代码。
410、服务器预估执行N个步骤中每个步骤所需的时间,并将预估的执行每个步骤所需的时间除以预估的执行N个步骤总的时间,分别获得每个步骤对应的预估运行时间的百分比。
其中,在步骤407服务器确定出执行任务需要N个步骤之后,服务器可以预估执行N个步骤中每个步骤所需的时间,并将预估的执行每个步骤所需的时间除以预估的执行N个步骤总的时间,分别获得每个步骤对应的预估运行时间百分比。
在本申请实施例中,服务器可以采用以下两种方式预估执行N个步骤中每个步骤所需的时间。具体的,服务器可以根据任务对象包含的应用程序代码,从预先存储的对应关系中查找与该应用程序代码对应的任务标识,并将获得的任务标识包含在任务标识集合中,该对应关系中包含应用程序代码以及已调用该应用程序代码的任务对象中的任务标识。如果任务标识集合中不包含任务标识,则表明在执行当前任务之前没有其他任务调用过该应用程序代码,此时,服务器可以采用以下方式1预估执行每个步骤所需的时间。如果任务标识集合中包含任务标识,则表明在执行当前任务之前已有其他任务调用过该应用程序代码,此时,服务器可以采用以下方式2预估执行每个步骤所需的时间。
方式1,服务器根据每个步骤的复杂程度预估执行该步骤所需的时间。
方式2,服务器从任务进度数据库中分别获取与任务标识集合中包含的任务标识对应的结构化对象,并将所有结构化对象中同一步骤对应的实际运行时间的平均值作为该步骤对应的预估运行时间。
其中,如果任务标识集合中包含任务标识,那么服务器可以根据任务标识集合中包含的所有任务标识,分别从任务进度数据库存储的任务进度键值对中查找相应的结构化对象,并将所有结构化对象中同一步骤对应的实际运行时间的平均值作为当前任务中该步骤对应的预估运行时间。
需要说明的是,在本申请实施例中,步骤408、步骤409和步骤410的执行没有先后关系,且本申请实施例在此对步骤408、步骤409和步骤410的执行顺序不做具体限制。
411、服务器将任务对象缓存至任务消息队列中。
其中,在执行完步骤408)步骤410之后,服务器可以将步骤403确定的任务对象缓存至任务消息队列中,等待调度。
412、服务器按照预存的调度算法调度任务对象,并调用任务对象包含的应用程序代码来执行相应的任务。
需要说明的是,在本申请实施例中,调度算法可以预先配置在服务器中,具体配置哪种调度算法,本申请实施例在此不做限制。
413、服务器在每执行完一个原子执行单元的程序后,确定与该原子执行单元对应的步骤,并根据任务标识,将该步骤对应的预估运行时间的百分比、实际运行时间、运行结果、操作明细和运行状态保存在任务进度数据库与任务标识对应的结构化对象中的该步骤中。
其中,运行状态包括正在运行、运行出错、还未运行,运行结果包括正常、异常、以及异常原因。在服务器调用应用程序代码执行任务的过程中,服务器可以在每执行完一个原子执行单元的程序后,确定与该原子执行单元对应的步骤,并根据任务标识从任务进度数据库存储的任务进度键值对中查找到与该任务标识对应的结构化对象,且将获取的该步骤对应的实际运行时间、运行状态、运行结果和操作明细,以及步骤410中获取的该步骤对应的预估运行时间的百分比,保存在查找到的结构化对象的该步骤中。
414、客户端向服务器发送任务进度查询请求。
其中,任务进度查询请求中包含任务标识。在步骤406客户端保存了接收到的任务标识和对应的任务名称之后,客户端可以向服务器发送包含有任务标识的任务进度查询请求,用于请求查询任务标识指示的任务的执行情况。
415、服务器接收客户端发送的任务进度查询请求。
416、服务器根据任务标识和存储的任务进度键值对,获得与任务标识对应的结构化对象。
其中,结构化对象中包含任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间。在服务器接收到客户端发送的任务进度查询请求之后,服务器便可以根据任务进度查询请求中包含的任务标识,查询任务进度数据库中存储的任务进度键值对,获得与该任务标识对应的结构化对象。
417、服务器向客户端发送包含有结构化对象的任务进度响应消息。
418、客户端接收服务器发送的任务进度响应消息。
419、客户端解析任务进度响应消息,获得结构化对象,并将结构化对象包含的已完成的步骤中每个步骤对应的预估运行时间的百分比之和作为任务的执行进度百分比。
其中,在客户端接收到服务器发送的任务进度响应消息之后,客户端可以通过解析该任务进度响应消息,获得结构化对象,并将结构化对象中包含的所有已完成步骤中每个步骤对应的预估运行时间的百分比相加,将和值作为该任务的执行进度百分比。
420、客户端显示任务的执行进度百分比,并显示结构化对象中包含的任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的操作明细、运行状态、运行结果和实际运行时间。
其中,在客户端确定出任务的执行进度百分比之后,客户端可以在任务详情显示界面中以进度条的形式显示该任务的执行进度百分比,并在任务详情显示界面中以滚动的形式显示结构化对象中包含的执行明细,如任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的操作明细、运行状态、运行结果和实际运行时间。
需要说明的是,在执行完步骤414)步骤420之后,在一种可能的实现方式中,在客户端一直处于任务详情显示界面的情况下,客户端可以以同步等待的方式继续周期性的向服务器发送任务进度查询请求,服务器便能够向客户端返回任务的执行情况,以便客户端实时的反映该任务的执行进度和执行明细,供用户查看。在另一种可能的实现方式中,在客户端离开该任务详情显示界面,开始执行其他操作的情况下,当用户想要再次查询该任务的执行情况时,用户可以打开任务列表,选择该任务的任务标识和任务名称,此时,客户端便可以在检测到用户对任务列表中的任务标识和任务名称的操作时,向服务器发送包含有任务标识的任务进度查询请求,来获得该任务的执行情况。
本申请实施例提供的异步任务查询方法,服务器在接收到客户端发送的任务进度查询请求后,根据任务进度查询请求中包含的任务标识,以及存储的任务进度键值对,获得结构化对象,并向客户端返回包含有结构化对象的任务进度响应消息。这样,在客户端需要查询任务的执行状态时,由于服务器中存储有目前该任务的执行情况,如执行该任务总的步骤N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间百分比、运行状态、操作明细、运行结果和实际运行时间,因此服务器便可以向客户端返回查询到的目前该任务的执行情况,以便客户端接收并显示该任务的执行进度百分比,以及该任务执行过程中的具体细节,从而很大程度的提高了用户体验。
上述主要各个网元之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个网元,如服务器、客户端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对服务器和客户端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图5示出了上述和实施例中涉及的服务器的另一种可能的组成示意图,如图5所示,该服务器可以包括:接收单元51、获取单元52和发送单元53。
其中,接收单元51,用于支持服务器执行图4所示的异步任务查询方法中的步骤402、步骤415。
获取单元52,用于支持服务器执行图4所示的异步任务查询方法中的步骤403、步骤409、步骤410所述的获得每个步骤对应的预估运行时间的百分比、步骤416。
发送单元53,用于支持服务器执行图4所示的异步任务查询方法中的步骤405、步骤417。
在本申请实施例中,进一步的,如图6所示,服务器还可以包括:处理单元54、确定单元55、存储单元56、调度单元57和执行单元58。
处理单元54,用于支持服务器执行图4所示的异步任务查询方法中的步骤404、步骤408所述的生成任务进度键值对、步骤410所述的预估执行N个步骤中每个步骤所需的时间、步骤411。
确定单元55,用于支持服务器执行图4所示的异步任务查询方法中的步骤407、步骤413所述的确定与该原子执行单元对应的步骤。
存储单元56,用于支持服务器执行图4所示的异步任务查询方法中的步骤408所述的在任务进度数据库中保存任务进度键值对、步骤413所述的将该步骤对应的预估运行时间的百分比、实际运行时间、运行结果、操作明细和运行状态保存在任务进度数据库与任务标识对应的结构化对象中的该步骤中。
调度单元57,用于支持服务器执行图4所示的异步任务查询方法中的步骤412所述的按照预存的调度算法调度任务对象。
执行单元58,用于支持服务器执行图4所示的异步任务查询方法中的步骤412所述的调用任务对象包含的应用程序代码来执行相应的任务。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的服务器,用于执行上述异步任务查询方法,因此可以达到与上述异步任务查询方法相同的效果。
在采用集成的单元的情况下,图7示出了上述实施例中所涉及的服务器的另一种可能的组成示意图。如图7所示,该服务器包括:处理模块61和通信模块62。
处理模块61用于对服务器的动作进行控制管理,例如,处理模块61用于支持服务器执行图4中的步骤403、步骤404、步骤407、步骤408所述的生成任务进度键值对、步骤409、步骤410、步骤411、步骤412、步骤413所述的确定与该原子执行单元对应的步骤、步骤416,和/或用于本文所描述的技术的其它过程。通信模块62用于支持服务器与其他网络实体,如客户端的通信。例如,通信模块62用于支持服务器执行图4中的步骤402、步骤405、步骤415、步骤417。服务器还可以包括存储模块63,用于存储服务器的程序代码和数据。例如,存储模块63用于支持服务器执行图4中的步骤408所述的在任务进度数据库中保存任务进度键值对、步骤413所述的将该步骤对应的预估运行时间的百分比、实际运行时间、运行结果、操作明细和运行状态保存在任务进度数据库与任务标识对应的结构化对象中的该步骤中。
其中,处理模块61可以是图2中的处理器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块62可以是图2中的通信接口。存储模块63可以是图2中的存储器。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述和实施例中涉及的客户端的另一种可能的组成示意图,如图8所示,该客户端可以包括:发送单元71、接收单元72、处理单元73和显示单元74。
其中,发送单元71,用于支持客户端执行图4所示的异步任务查询方法中的步骤401、步骤414。
接收单元72,用于支持客户端执行图4所示的异步任务查询方法中的步骤406所述的接收服务器发送的服务响应消息、步骤418。
处理单元73,用于支持客户端执行图4所示的异步任务查询方法中的步骤419。
显示单元74,用于支持客户端执行图4所示的异步任务查询方法中的步骤420。
在本申请实施例中,进一步的,如图9所示,客户端还可以包括:存储单元75。
存储单元75,用于支持客户端执行图4所示的异步任务查询方法中的步骤406所述的在任务列表中保存任务标识和对应的任务名称。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的客户端,用于执行上述异步任务查询方法,因此可以达到与上述异步任务查询方法相同的效果。
在采用集成的单元的情况下,图10示出了上述实施例中所涉及的客户端的另一种可能的组成示意图。如图10所示,该客户端包括:处理模块81和通信模块82。
处理模块81用于对客户端的动作进行控制管理,例如,处理模块81用于支持客户端执行图4中的步骤419、步骤420,和/或用于本文所描述的技术的其它过程。通信模块82用于支持客户端与其他网络实体,如服务器的通信。例如,通信模块82用于支持客户端执行图4中的步骤401、步骤406所述的接收服务器发送的服务响应消息、步骤414、步骤418。客户端还可以包括存储模块83,用于存储客户端的程序代码和数据。例如,存储模块83用于支持客户端执行图4中的步骤406所述的在任务列表中保存任务标识和对应的任务名称。
其中,处理模块81可以是图3中的处理器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块82可以是图3中的通信接口。存储模块83可以是图3中的存储器。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (29)
1.一种异步任务查询方法,其特征在于,所述方法包括:
服务器接收客户端发送的任务进度查询请求,所述任务进度查询请求中包含任务标识;
所述服务器根据所述任务标识和存储的任务进度键值对,获得与所述任务标识对应的结构化对象,所述任务进度键值对中包括:任务标识和结构化对象,所述结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间;其中,N为正整数,所述运行状态包括正在运行、运行出错、还未运行,所述运行结果包括正常、异常、以及异常原因;
所述服务器向所述客户端发送包含有所述结构化对象的任务进度响应消息。
2.根据权利要求1所述的方法,其特征在于,在所述服务器接收客户端发送的任务进度查询请求之前,还包括:
所述服务器接收所述客户端发送的服务请求,所述服务请求用于请求执行任务,所述服务请求为统一资源定位符URL;
所述服务器根据所述URL查找URL路由表,获得与所述URL对应的任务对象,所述任务对象包括以下至少一种属性:应用程序代码、任务名称,所述URL路由表包括URL和对应的任务对象;
所述服务器根据所述任务对象生成所述任务标识,并将所述任务标识作为所述任务对象包含的属性;
所述服务器向所述客户端发送服务响应消息,所述服务响应消息中包括所述任务标识。
3.根据权利要求2所述的方法,其特征在于,在所述服务器获得与所述URL对应的任务对象之后,还包括:
所述服务器确定执行所述任务需要的N个步骤和每个步骤的名称;
所述服务器将所述任务标识作为键,将包含有所述任务名称、N个步骤和N个步骤中每个步骤的名称的结构化对象作为值,生成任务进度键值对,并在任务进度数据库中保存所述任务进度键值对。
4.根据权利要求3所述的方法,其特征在于,在所述服务器确定执行所述任务需要的N个步骤和每个步骤的名称之后,还包括:
所述服务器根据执行所述任务需要的步骤划分所述应用程序代码,获得N个原子执行单元,一个步骤对应一个原子执行单元。
5.根据权利要求4所述的方法,其特征在于,在所述在任务进度数据库中保存所述任务进度键值对之后,还包括:
所述服务器将所述任务对象缓存至任务消息队列中;
所述服务器按照预存的调度算法调度所述任务对象,并调用所述任务对象包含的应用程序代码来执行相应的任务;
所述服务器在每执行完一个原子执行单元的程序后,确定与该原子执行单元对应的步骤,并根据所述任务标识,将该步骤对应的预估运行时间的百分比、实际运行时间、运行结果、操作明细和运行状态保存在所述任务进度数据库与所述任务标识对应的结构化对象中的该步骤中。
6.根据权利要求5所述的方法,其特征在于,在所述服务器在每执行完一个原子执行单元的程序后,根据所述任务标识,将该步骤对应的预估运行时间的百分比保存之前,还包括:
所述服务器预估执行所述N个步骤中每个步骤所需的时间;
所述服务器将预估的执行每个步骤所需的时间除以预估的执行N个步骤总的时间,分别获得每个步骤对应的预估运行时间的百分比。
7.根据权利要求6所述的方法,其特征在于,在所述服务器预估执行所述N个步骤中每个步骤所需的时间之前,还包括:
所述服务器根据所述任务对象包含的应用程序代码和对应关系,获取与所述应用程序代码对应的任务标识集合,所述对应关系中包含应用程序代码以及已调用该应用程序代码的任务对象中的任务标识;
如果所述任务标识集合中不包含任务标识,则所述服务器预估执行所述N个步骤中每个步骤所需的时间,包括:
所述服务器根据所述N个步骤中每个步骤的复杂程度预估执行该步骤所需的时间;
如果所述任务标识集合中包含任务标识,则所述服务器预估执行所述N个步骤中每个步骤所需的时间,包括:
所述服务器从所述任务进度数据库中分别获取与所述任务标识集合中包含的任务标识对应的结构化对象,并将所有结构化对象中同一步骤对应的实际运行时间的平均值作为该步骤对应的预估运行时间。
8.根据权利要求2-7中任一项所述的方法,其特征在于,
所述服务响应消息中还包括所述任务标识。
9.一种异步任务查询方法,其特征在于,所述方法包括:
客户端向服务器发送任务进度查询请求,所述任务进度查询请求中包含任务标识;
所述客户端接收所述服务器返回的任务进度响应消息,所述任务进度响应消息中包含结构化对象,所述结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间;其中,N为正整数,所述运行状态包括正在运行、运行出错、还未运行,所述运行结果包括正常、异常、以及异常原因;
所述客户端解析所述任务进度响应消息,获得所述结构化对象,并将所述结构化对象包含的已完成的步骤中每个步骤对应的预估运行时间的百分比之和作为任务的执行进度百分比;
所述客户端显示所述任务的执行进度百分比,并显示所述结构化对象包含的任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的操作明细、运行状态、运行结果和实际运行时间。
10.根据权利要求9所述的方法,其特征在于,在所述客户端向服务器发送任务进度查询请求之前,还包括:
所述客户端向所述服务器发送服务请求,所述服务请求用于请求执行任务,所述服务请求为统一资源定位符URL;
所述客户端接收所述服务器发送的服务响应消息,所述服务响应消息中包括所述任务标识。
11.根据权利要求10所述的方法,其特征在于,所述服务响应消息中还包括所述任务标识,在所述客户端接收所述服务器发送的服务响应消息之后,还包括:
所述客户端在任务列表中保存所述任务标识和对应的所述任务名称。
12.根据权利要求11所述的方法,其特征在于,当所述客户端离开显示所述任务的执行进度百分比的显示界面时,所述客户端向服务器发送任务进度查询请求,包括:
所述客户端在检测到用户对所述任务列表中的所述任务标识和对应的所述任务名称的操作时,向所述服务器发送所述任务进度查询请求。
13.根据权利要求9-12中任一项所述的方法,其特征在于,当所述客户端处于显示所述任务的执行进度百分比的显示界面时,所述客户端向服务器发送任务进度查询请求,包括:
所述客户端周期性的向所述服务器发送所述任务进度查询请求。
14.一种服务器,其特征在于,所述服务器包括:接收单元、获取单元和发送单元;
所述接收单元,用于接收客户端发送的任务进度查询请求,所述任务进度查询请求中包含任务标识;
所述获取单元,用于根据所述任务标识和存储的任务进度键值对,获得与所述任务标识对应的结构化对象,所述任务进度键值对中包括:任务标识和结构化对象,所述结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间;其中,N为正整数,所述运行状态包括正在运行、运行出错、还未运行,所述运行结果包括正常、异常、以及异常原因;
所述发送单元,用于向所述客户端发送包含有所述获取单元获得的所述结构化对象的任务进度响应消息。
15.根据权利要求14所述的服务器,其特征在于,所述服务器还包括:处理单元;
所述接收单元,还用于接收所述客户端发送的服务请求,所述服务请求用于请求执行任务,所述服务请求为统一资源定位符URL;
所述获取单元,还用于根据所述URL查找URL路由表,获得与所述URL对应的任务对象,所述任务对象包括以下至少一种属性:应用程序代码、任务名称,所述URL路由表包括URL和对应的任务对象;
所述处理单元,用于根据所述获取单元获得的所述任务对象生成所述任务标识,并将所述任务标识作为所述任务对象包含的属性;
所述发送单元,还用于向所述客户端发送服务响应消息,所述服务响应消息中包括所述任务标识。
16.根据权利要求15所述的服务器,其特征在于,所述服务器还包括:确定单元和存储单元;
所述确定单元,用于确定执行所述任务需要的N个步骤和每个步骤的名称;
所述处理单元,还用于将所述任务标识作为键,将包含有所述任务名称、N个步骤和N个步骤中每个步骤的名称的结构化对象作为值,生成任务进度键值对;
所述存储单元,用于在任务进度数据库中保存所述任务进度键值对。
17.根据权利要求16所述的服务器,其特征在于,
所述获取单元,还用于根据执行所述任务需要的步骤划分所述应用程序代码,获得N个原子执行单元,一个步骤对应一个原子执行单元。
18.根据权利要求17所述的服务器,其特征在于,所述服务器还包括:调度单元和执行单元;
所述处理单元,还用于将所述任务对象缓存至任务消息队列中;
所述调度单元,用于按照预存的调度算法调度所述任务对象;
所述执行单元,用于调用所述任务对象包含的应用程序代码来执行相应的任务;
所述确定单元,还用于在每执行完一个原子执行单元的程序后,确定与该原子执行单元对应的步骤;
所述存储单元,还用于根据所述任务标识,将所述确定单元确定的该步骤对应的预估运行时间的百分比、实际运行时间、运行结果、操作明细和运行状态保存在所述任务进度数据库与所述任务标识对应的结构化对象中的该步骤中。
19.根据权利要求18所述的服务器,其特征在于,
所述处理单元,还用于预估执行所述N个步骤中每个步骤所需的时间;
所述获取单元,还用于将预估的执行每个步骤所需的时间除以预估的执行N个步骤总的时间,分别获得每个步骤对应的预估运行时间的百分比。
20.根据权利要求19所述的服务器,其特征在于,
所述获取单元,还用于根据所述任务对象包含的应用程序代码和对应关系,获取与所述应用程序代码对应的任务标识集合,所述对应关系中包含应用程序代码以及已调用该应用程序代码的任务对象中的任务标识;
如果所述任务标识集合中不包含任务标识,则所述处理单元,具体用于:根据所述N个步骤中每个步骤的复杂程度预估执行该步骤所需的时间;
如果所述任务标识集合中包含任务标识,则所述处理单元,具体用于:从所述任务进度数据库中分别获取与所述任务标识集合中包含的任务标识对应的结构化对象,并将所有结构化对象中同一步骤对应的实际运行时间的平均值作为该步骤对应的预估运行时间。
21.根据权利要求15-20中任一项所述的服务器,其特征在于,
所述服务响应消息中还包括所述任务标识。
22.一种客户端,其特征在于,所述客户端包括:发送单元、接收单元、处理单元和显示单元;
所述发送单元,用于向服务器发送任务进度查询请求,所述任务进度查询请求中包含任务标识;
所述接收单元,用于接收所述服务器返回的任务进度响应消息,所述任务进度响应消息中包含结构化对象,所述结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间;其中,N为正整数,所述运行状态包括正在运行、运行出错、还未运行,所述运行结果包括正常、异常、以及异常原因;
所述处理单元,用于解析所述接收单元接收的所述任务进度响应消息,获得所述结构化对象,并将所述结构化对象包含的已完成的步骤中每个步骤对应的预估运行时间的百分比之和作为任务的执行进度百分比;
所述显示单元,用于显示所述任务的执行进度百分比,并显示所述结构化对象包含的任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的操作明细、运行状态、运行结果和实际运行时间。
23.根据权利要求22所述的客户端,其特征在于,
所述发送单元,还用于向所述服务器发送服务请求,所述服务请求用于请求执行任务,所述服务请求为统一资源定位符URL;
所述接收单元,还用于接收所述服务器发送的服务响应消息,所述服务响应消息中包括所述任务标识。
24.根据权利要求23所述的客户端,其特征在于,所述服务响应消息中还包括所述任务标识,所述客户端还包括:存储单元;
所述存储单元,用于在任务列表中保存所述任务标识和对应的所述任务名称。
25.根据权利要求24所述的客户端,其特征在于,当所述客户端离开显示所述任务的执行进度百分比的显示界面时,所述发送单元,具体用于:
在检测到用户对所述任务列表中的所述任务标识和对应的所述任务名称的操作时,向所述服务器发送所述任务进度查询请求。
26.根据权利要求22-25中任一项所述的客户端,其特征在于,当所述客户端处于显示所述任务的执行进度百分比的显示界面时,所述发送单元,具体用于:
周期性的向所述服务器发送所述任务进度查询请求。
27.一种服务器,其特征在于,所述服务器包括:至少一个处理器、存储器、通信接口和通信总线;
所述处理器与所述存储器、所述通信接口通过所述通信总线连接,所述存储器用于存储计算机执行指令,当所述服务器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述服务器执行如权利要求1-8中任一项所述的异步任务查询方法。
28.一种客户端,其特征在于,所述客户端包括:至少一个处理器、存储器、显示器、通信接口和通信总线;
所述处理器与所述存储器、所述显示器、所述通信接口通过所述通信总线连接,所述存储器用于存储计算机执行指令,当所述客户端运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述客户端执行如权利要求9-13中任一项所述的异步任务查询方法。
29.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-8中任一项所述的异步任务查询方法,或当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求9-13中任一项所述的异步任务查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711052232.1A CN107798108B (zh) | 2017-10-30 | 2017-10-30 | 一种异步任务查询方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711052232.1A CN107798108B (zh) | 2017-10-30 | 2017-10-30 | 一种异步任务查询方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107798108A true CN107798108A (zh) | 2018-03-13 |
CN107798108B CN107798108B (zh) | 2020-11-10 |
Family
ID=61548590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711052232.1A Active CN107798108B (zh) | 2017-10-30 | 2017-10-30 | 一种异步任务查询方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107798108B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299946A (zh) * | 2018-07-27 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 一种支付流程的处理方法和装置 |
CN109726992A (zh) * | 2018-12-29 | 2019-05-07 | 北京百度网讯科技有限公司 | 任务完成时间的评估方法及装置 |
CN109857788A (zh) * | 2019-01-22 | 2019-06-07 | 中国联合网络通信集团有限公司 | 业务查询方法、装置、终端、服务器和可读介质 |
CN110555286A (zh) * | 2019-09-12 | 2019-12-10 | 珠海格力电器股份有限公司 | 获取模拟仿真计算进度的方法、计算机设备及存储设备 |
CN111176858A (zh) * | 2019-11-25 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种数据请求处理方法及装置 |
CN112256706A (zh) * | 2020-11-19 | 2021-01-22 | 中国联合网络通信集团有限公司 | 一种handle引用状态的确定方法及装置 |
CN112311889A (zh) * | 2020-11-02 | 2021-02-02 | 浙江大华技术股份有限公司 | 设备启动进度的确定方法、装置、存储介质及电子装置 |
CN112418588A (zh) * | 2020-09-03 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 任务流显示方法及装置 |
CN112527872A (zh) * | 2020-12-18 | 2021-03-19 | 湖南快乐阳光互动娱乐传媒有限公司 | 数据查询方法及装置、存储介质及电子设备 |
CN113065054A (zh) * | 2021-03-31 | 2021-07-02 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、电子设备及存储介质 |
CN113242451A (zh) * | 2021-05-07 | 2021-08-10 | 上海哔哩哔哩科技有限公司 | 视频生成方法及装置 |
WO2021203635A1 (zh) * | 2020-04-08 | 2021-10-14 | 北京百度网讯科技有限公司 | 分布式系统运行状态监测方法、装置、设备及存储介质 |
EP3860074A4 (en) * | 2018-11-16 | 2021-12-01 | Huawei Technologies Co., Ltd. | COMMUNICATION PROCEDURE, CLIENT DEVICE, AND SERVER DEVICE |
CN113868687A (zh) * | 2021-10-18 | 2021-12-31 | 北京京东乾石科技有限公司 | 一种任务处理进度的管理方法和装置 |
CN114579265A (zh) * | 2020-12-02 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 一种任务查询的方法、装置及存储介质 |
CN115941427A (zh) * | 2022-10-10 | 2023-04-07 | 上海天祥网络科技有限公司 | 应用服务器的远程管理方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339396A1 (en) * | 2012-06-13 | 2013-12-19 | Microsoft Corporation | Asynchronously flattening graphs in relational stores |
CN103778510A (zh) * | 2014-01-23 | 2014-05-07 | 北京荣之联科技股份有限公司 | 用于量化任务价值的任务管理方法及装置 |
CN103793273A (zh) * | 2014-01-24 | 2014-05-14 | 北京京东尚科信息技术有限公司 | 一种基于Redis的分布式队列调度方法及装置 |
CN106339267A (zh) * | 2016-09-08 | 2017-01-18 | 华为技术有限公司 | 一种对象查询方法及服务端 |
CN106339440A (zh) * | 2016-08-22 | 2017-01-18 | 东软集团股份有限公司 | 异步任务查询方法及设备 |
-
2017
- 2017-10-30 CN CN201711052232.1A patent/CN107798108B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339396A1 (en) * | 2012-06-13 | 2013-12-19 | Microsoft Corporation | Asynchronously flattening graphs in relational stores |
CN103778510A (zh) * | 2014-01-23 | 2014-05-07 | 北京荣之联科技股份有限公司 | 用于量化任务价值的任务管理方法及装置 |
CN103793273A (zh) * | 2014-01-24 | 2014-05-14 | 北京京东尚科信息技术有限公司 | 一种基于Redis的分布式队列调度方法及装置 |
CN106339440A (zh) * | 2016-08-22 | 2017-01-18 | 东软集团股份有限公司 | 异步任务查询方法及设备 |
CN106339267A (zh) * | 2016-09-08 | 2017-01-18 | 华为技术有限公司 | 一种对象查询方法及服务端 |
Non-Patent Citations (1)
Title |
---|
唐金鹏 等: ""一种异步任务管理框架的实现研究"", 《通信技术》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299946A (zh) * | 2018-07-27 | 2019-02-01 | 阿里巴巴集团控股有限公司 | 一种支付流程的处理方法和装置 |
CN109299946B (zh) * | 2018-07-27 | 2021-12-10 | 创新先进技术有限公司 | 一种支付流程的处理方法和装置 |
EP3860074A4 (en) * | 2018-11-16 | 2021-12-01 | Huawei Technologies Co., Ltd. | COMMUNICATION PROCEDURE, CLIENT DEVICE, AND SERVER DEVICE |
CN109726992A (zh) * | 2018-12-29 | 2019-05-07 | 北京百度网讯科技有限公司 | 任务完成时间的评估方法及装置 |
CN109857788A (zh) * | 2019-01-22 | 2019-06-07 | 中国联合网络通信集团有限公司 | 业务查询方法、装置、终端、服务器和可读介质 |
CN110555286A (zh) * | 2019-09-12 | 2019-12-10 | 珠海格力电器股份有限公司 | 获取模拟仿真计算进度的方法、计算机设备及存储设备 |
CN111176858A (zh) * | 2019-11-25 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种数据请求处理方法及装置 |
WO2021203635A1 (zh) * | 2020-04-08 | 2021-10-14 | 北京百度网讯科技有限公司 | 分布式系统运行状态监测方法、装置、设备及存储介质 |
CN112418588A (zh) * | 2020-09-03 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 任务流显示方法及装置 |
CN112418588B (zh) * | 2020-09-03 | 2023-08-01 | 上海哔哩哔哩科技有限公司 | 任务流显示方法及装置 |
CN112311889A (zh) * | 2020-11-02 | 2021-02-02 | 浙江大华技术股份有限公司 | 设备启动进度的确定方法、装置、存储介质及电子装置 |
CN112256706B (zh) * | 2020-11-19 | 2023-01-24 | 中国联合网络通信集团有限公司 | 一种handle引用状态的确定方法及装置 |
CN112256706A (zh) * | 2020-11-19 | 2021-01-22 | 中国联合网络通信集团有限公司 | 一种handle引用状态的确定方法及装置 |
CN114579265A (zh) * | 2020-12-02 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 一种任务查询的方法、装置及存储介质 |
CN112527872A (zh) * | 2020-12-18 | 2021-03-19 | 湖南快乐阳光互动娱乐传媒有限公司 | 数据查询方法及装置、存储介质及电子设备 |
CN113065054A (zh) * | 2021-03-31 | 2021-07-02 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、电子设备及存储介质 |
CN113065054B (zh) * | 2021-03-31 | 2024-03-01 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、电子设备及存储介质 |
CN113242451A (zh) * | 2021-05-07 | 2021-08-10 | 上海哔哩哔哩科技有限公司 | 视频生成方法及装置 |
CN113868687A (zh) * | 2021-10-18 | 2021-12-31 | 北京京东乾石科技有限公司 | 一种任务处理进度的管理方法和装置 |
CN115941427A (zh) * | 2022-10-10 | 2023-04-07 | 上海天祥网络科技有限公司 | 应用服务器的远程管理方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107798108B (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107798108A (zh) | 一种异步任务查询方法及设备 | |
US10417066B2 (en) | Adapting legacy endpoints to modern APIs | |
CN108182111A (zh) | 任务调度系统、方法和装置 | |
US7444596B1 (en) | Use of template messages to optimize a software messaging system | |
US20160380933A1 (en) | System and method for providing crowd-based technical support to smartphone users | |
CN110557284B (zh) | 基于客户端网关的数据聚合方法及装置 | |
CN107798038A (zh) | 数据响应方法及数据响应设备 | |
US20080140803A1 (en) | Configurable Continuous Web Service Invocation on Pervasive Device | |
CN106534281A (zh) | 一种数据请求的响应方法、装置及系统 | |
US20200175570A1 (en) | Method for processing orders and electronic device | |
CN113329069B (zh) | 一种即时通信方法、系统及计算设备 | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
CN110221927A (zh) | 异步消息处理方法和装置 | |
US20150371327A1 (en) | System for dynamically selecting a communications fabric | |
CN113420041A (zh) | 分布式数据库中的数据处理方法、装置、设备及介质 | |
US11062224B2 (en) | Prediction using fusion of heterogeneous unstructured data | |
US11093309B1 (en) | Communication hub for information technology (IT) services | |
CN107291923B (zh) | 信息处理方法和装置 | |
CN110365533B (zh) | 数字资产交易方法、系统和计算机可读存储介质 | |
CN108460002A (zh) | 合作伙伴自动对接方法、装置、设备及存储介质 | |
CN108390817A (zh) | 信息的分享方法、装置及电子设备 | |
CN108319435A (zh) | 票据的打印方法、装置及电子设备 | |
CN104462175B (zh) | 创建使用关联数据的集成用户接口的方法和系统 | |
CN111222783A (zh) | 处理工作流的方法及电子设备 | |
CN112925623B (zh) | 任务处理方法、装置、电子设备和介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |