CN101562622A - 一种执行用户请求的方法及其对应的服务器 - Google Patents
一种执行用户请求的方法及其对应的服务器 Download PDFInfo
- Publication number
- CN101562622A CN101562622A CNA2009101471078A CN200910147107A CN101562622A CN 101562622 A CN101562622 A CN 101562622A CN A2009101471078 A CNA2009101471078 A CN A2009101471078A CN 200910147107 A CN200910147107 A CN 200910147107A CN 101562622 A CN101562622 A CN 101562622A
- Authority
- CN
- China
- Prior art keywords
- user
- request
- system server
- list
- watch
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种执行用户请求的方法,应用于包括客户端、系统服务器和存储设备的网络系统中,所述方法包括以下步骤:所述系统服务器分析接收到的用户请求,根据分析结果将所述用户请求添加到预先生成的监控列表中,并向发送所述用户请求的客户端返回响应消息,使所述客户端无需等待所述用户请求的执行结果;所述系统服务器根据需要,调用所述监控列表中的用户请求的信息,实现对用户请求的动态管理和全局监管,或调度所述监控列表中满足执行条件的用户请求,并向所述存储设备下发所述用户请求对应的操作命令。本发明提高了用户的操作效率和系统服务器的执行效率。本发明同样公开了一种上述方法对应的服务器。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种执行用户请求的方法及其对应的服务器。
背景技术
随着互联网技术的发展,越来越多的网络业务需要使用Web(网页)应用程序。Web应用程序是一种基于B/S(Browser/Server,浏览器/服务器)结构的应用程序,采用互联网上的标准通信协议作为客户端与服务器端通信的协议,可以使位于互联网任意位置的用户都能够正常访问系统服务器。
Web应用程序在服务器端通过Web服务和数据库服务对数据进行处理,并根据处理结果生成用户界面,以方便客户端直接下载处理后的数据,达到共享数据的目的。由于Web应用程序通过浏览器向客户端显示数据,用户只需要在客户端安装一套内置浏览器的操作系统,就可以实现对服务器上数据的访问,不需要为客户端单独编写和安装专用的应用程序,进一步简化了客户端对数据的处理流程。
在Web应用程序的处理流程中,当用户需要访问某个用户界面时,可以通过浏览器向系统服务器发送HTTP(Hypertext Transfer Protocol,超文本传输协议)请求;系统服务器接收到来自浏览器的HTTP请求后,由业务功能处理程序处理该HTTP请求,并根据处理结果动态生成HTML(Hyper TextMark-up Language,超文本标注语言)格式的用户界面;系统服务器通过TCP(Transmission Control Protocol,传输控制协议)连接向客户端的浏览器反馈回应消息,该回应消息用于表示用户请求对应的用户界面;客户端的浏览器接收到来自系统服务器的回应消息后,显示对应的用户界面。
上述Web应用程序的处理流程包括对存储设备的功能操作,具体地,当用户需要调用存储设备的某个数据时,可以通过浏览器向系统服务器发送HTTP请求,并等待请求结果;系统服务器接收到来自浏览器的HTTP请求后,由业务功能处理程序处理该HTTP请求,将该HTTP请求转换为命令行操作语句并向存储设备下发,等待存储设备返回结果;存储设备接收来自系统服务器的命令行操作语句,根据该语句进行相应的操作,并向系统服务器返回操作结果;系统服务器接收并分析来自存储设备的操作结果,通过TCP连接向客户端的浏览器反馈用户请求的执行结果。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:
基于存储设备限制并发的特点,存储设备无法同时执行多个用户请求对应的命令行操作语句。当存储设备处于占用状态时,系统服务器无法对来自客户端的多个用户请求排队,此时,用户请求因存储设备忙碌得不到执行而被直接丢弃,用户需要通过客户端重新发送用户请求,填写并提交请求信息,降低了用户的操作效率和使用体验。另外,在系统服务器处理用户请求的过程中,客户端处于等待状态,需要为正在执行的用户请求保留系统资源,在一定程度上造成了系统资源的浪费,并导致客户端等待时间过长以及系统服务器效能低下。还有,就是由于存储设备并发受到限制,无法实现全局监管用户请求的功能。
发明内容
本发明提供了一种执行用户请求的方法及其对应的服务器,实现了对用户请求的全局监管以及用户请求的异步执行,提高了用户的体验、操作效率和系统服务器的执行效率。
本发明提供了一种执行用户请求的方法,应用于包括客户端、系统服务器和存储设备的网络系统中,所述方法包括以下步骤:
所述系统服务器分析接收到的用户请求,根据分析结果将所述用户请求添加到预先生成的监控列表中,并向发送所述用户请求的客户端返回响应消息,使所述客户端无需等待所述用户请求的执行结果;
所述系统服务器根据需要,调用所述监控列表中的用户请求的信息,实现对用户请求的动态管理和全局监管,或调度所述监控列表中满足执行条件的用户请求,并向所述存储设备下发所述用户请求对应的操作命令。
优选地,所述分析结果包括所述用户请求的分解步骤和所述分解步骤对应的存储设备的状态信息,
所述系统服务器根据分析结果将用户请求添加到预先生成的监控列表中,具体包括:
所述系统服务器根据所述分解步骤对应的存储设备的状态信息,设定所述用户请求的执行状态;
所述系统服务器根据所述用户请求的分解步骤和执行状态更新所述监控列表。
优选地,所述执行状态包括正在执行或等待执行,
所述系统服务器根据分解步骤对应的存储设备的状态信息,设定用户请求的执行状态,具体为:
当所述存储设备的状态信息为空闲时,所述系统服务器执行所述用户请求,并将所述用户请求的执行状态设定为正在执行;当所述存储设备的状态信息为忙碌时,所述系统服务器将所述用户请求的执行状态设定为等待执行。
优选地,所述系统服务器调度所述监控列表中满足执行条件的用户请求,具体为:
所述系统服务器获取所述监控列表中的用户请求对应的存储设备的状态信息;
所述系统服务器选择执行状态为等待执行,且对应的存储设备的状态为空闲的用户请求。
优选地,所述系统服务器向存储设备下发用户请求对应的操作命令之后,还包括:
所述系统服务器接收所述存储设备对所述操作命令的执行结果,根据所述执行结果更新所述监控列表。
优选地,所述用户请求的执行状态还包括异常返回,
所述系统服务器根据执行结果更新监控列表,具体为:
当所述执行结果为执行成功时,所述系统服务器将所述用户请求从所述监控列表中删除;
当所述执行结果为执行失败时,所述系统服务器将所述用户请求的执行状态设置为异常返回。
本发明还提供了一种系统服务器,应用于包括客户端、系统服务器和存储设备的网络系统中,所述系统服务器包括:
收发模块,用于接收来自所述客户端的用户请求,向所述客户端返回响应消息,并向所述存储设备发送用户请求对应的操作命令;
生成模块,用于生成或更新监控列表,所述监控列表用于存储用户请求;
分析模块,与所述收发模块和生成模块电性连接,用于分析所述收发模块接收到的用户请求,根据分析结果将所述用户请求添加到所述生成模块生成的监控列表中;
调度模块,与所述生成模块和收发模块电性连接,用于调用所述生成模块生成的监控列表中的用户请求的信息,或调度所述监控列表中满足执行条件的用户请求,通知所述收发模块向所述存储设备下发所述用户请求对应的操作命令。
优选地,所述分析模块,具体包括:
分析子模块,用于分析接收到的用户请求,获取所述用户请求的分解步骤和所述分解步骤对应的存储设备的状态信息;
设定子模块,与所述分析子模块电性连接,用于根据所述分析子模块获取的所述分解步骤对应的存储设备的状态信息,设定所述用户请求的执行状态;
发送子模块,与所述设定子模块电性连接,用于将经过分析子模块分析和经过所述设定子模块设定执行状态的用户请求发送到所述生成模块,供所述生成模块更新所述监控列表,并通知所述收发模块向所述客户端返回响应消息。
优选地,所述设定子模块,具体用于:
当所述存储设备的状态信息为空闲时,所述设定子模块将所述用户请求的执行状态设定为正在执行;
当所述存储设备的状态信息为忙碌时,所述设定子模块将所述用户请求的执行状态设定为等待执行。
优选地,所述调度模块,用于调用所述监控列表中的用户请求的信息,获取所述监控列表中的用户请求对应的存储设备的状态信息;或者根据调度策略,对当前尚未完成执行的用户请求进行统一调度,通知所述生成模块更新所述监控列表,以及通知所述收发模块向所述存储设备下发所述用户请求对应的操作命令。
优选地,所述收发模块,还用于接收所述存储设备对所述操作命令的执行结果;
所述生成模块,与所述收发模块电性连接,还用于根据所述收发模块接收到的存储设备执行结果更新所述监控列表;
所述根据执行结果更新监控列表,具体为:
当所述执行结果为执行成功时,所述生成模块将所述用户请求从所述监控列表中删除;
当所述执行结果为执行失败时,所述生成模块将所述用户请求的执行状态设置为异常返回。
优选地,所述的系统服务器,还包括:
存储模块,与所述生成模块电性连接,在系统服务器发生故障后用于存储所述生成模块生成的所述监控列表中的用户请求。
与现有技术相比,本发明具有以下优点:由系统服务器对来自客户端的用户请求进行智能分析,并根据分析结果将该用户请求添加到监控列表中,向发送该用户请求的客户端返回响应消息,使客户端在用户请求的执行过程中无需等待执行结果,实现对用户请求的异步执行;系统服务器调用监控列表中的用户请求,并向存储设备下发该用户请求对应的操作命令,通过监控列表对接收到的用户请求进行分组汇总和全局监管,对操作命令进行排序下发。在用户请求执行失败后,用户不需要重新发送用户请求,提高了用户的操作效率和使用体验,同时避免了命令死锁,增加了用户请求的并发量,提高了系统服务器的执行效率。
附图说明
图1为本发明中的一种执行用户请求的方法流程图;
图2为本发明中的系统服务器执行用户请求的一种具体应用场景流程图;
图3为本发明中的一种系统服务器的结构示意图;
图4为本发明中的一种执行用户请求的系统结构示意图。
具体实施方式
本发明提供的技术方案中,其核心思想为通过系统服务器对来自客户端的用户请求进行智能分析,并根据分析结果将该用户请求添加到监控列表中,向客户端返回响应消息,使客户端在用户请求的执行过程中无需等待执行结果;另外,系统服务器通过调用监控列表中的用户请求,对所有接收到的用户请求进行分组汇总和全局监管,并向存储设备排序下发监控列表中的用户请求对应的操作命令,根据操作命令的执行结果更新监控列表,实现对用户请求的异步执行。
如图1所示,为本发明中的一种执行用户请求的方法流程图,应用于包括客户端、系统服务器和存储设备的网络系统中,该方法包括以下步骤:
步骤101,系统服务器分析接收到的用户请求,根据分析结果将用户请求添加到预先生成的监控列表中,并向发送该用户请求的客户端返回响应消息,使该客户端无需等待用户请求的执行结果。
其中,监控列表为系统服务器中的全局变量,由系统服务器在启动时通过初始化预先生成。如表1所示,为监控列表的一示意结构。
表1监控列表
用户请求名 | 用户名 | 执行状态 | 查看详细信息的链接 | 取消执行按钮 |
监控列表中包含系统服务器接收到的用户请求对应的用户请求信息,该用户请求信息包括用户请求名称、用户名、执行状态、查看详细信息的链接和取消执行按钮。其中,用户名为发送用户请求的用户的名称,执行状态包括正在执行、等待执行和异常返回中的至少一种,查看详细信息的链接用于获取用户请求的分解步骤、各个分解步骤对应的存储设备以及各个分解步骤的执行情况,取消执行按钮用于取消执行状态为等待执行的用户请求。
具体地,当系统服务器接收到来自客户端的用户请求后,对该用户请求进行智能分析,并获取分析结果,该分析结果包括用户请求的分解步骤和该分解步骤对应的存储设备的状态信息。系统服务器根据用户请求的分解步骤对应的存储设备的状态信息,设定用户请求的执行状态,并使用用户请求的分解步骤和执行状态添加到监控列表中,以更新监控列表。系统服务器在将用户请求添加到监控列表中之后,向该用户请求对应的客户端发送响应消息。客户端接收到响应消息后,不再等待该用户请求的执行结果,可以在系统服务器上进行其他的操作,如继续发送用户请求或者查看用户请求的执行情况等。
步骤102,系统服务器根据需要,调用监控列表中的用户请求的信息,实现对用户请求的动态管理和全局监管,或调度监控列表中满足执行条件的用户请求,并向存储设备下发该用户请求对应的操作命令。
具体地,系统服务器调用监控列表中的用户请求的信息,获取监控列表中的用户请求对应的存储设备的状态信息,并根据需要,对监控列表中的用户请求进行动态管理和全局监管。例如,在某种情况下,需要将某个优级级高的用户请求取消,以便让其他的用户请求优先执行,此时就可以通过点击监控列表中该用户请求的取消执行按钮,并将需要优先执行的用户请求的优先级提高即可。
另外,系统服务器也可以根据各存储设备的状态以及调度的策略,调度所述监控列表中的用户请求,向存储设备下发该用户请求对应的操作命令,以实现对用户请求的异步执行。
具体地,系统服务器的调度策略,可以是用户请求的接收时间,也可以是用户请求或发送用户请求的客户端的优先级信息。系统服务器根据分析结果将用户请求添加到监控列表,并根据对应的调度策略执行监控列表中的用户请求,向存储设备下发用户请求对应的操作命令。例如:从监控列表中按照系统服务器接收用户请求的时间,并选择执行状态为等待执行、且对应的存储设备的状态为空闲的用户请求,
存储设备执行操作命令完毕后,向系统服务器返回执行结果,系统服务器可以根据该执行结果更新监控列表,并继续调度更新后的监控列表中的其他用户请求,向存储设备下发用户请求对应的操作命令。
本发明通过系统服务器对来自客户端的用户请求进行智能分析,并根据分析结果将该用户请求添加到监控列表中,及时向发送该用户请求的客户端返回响应消息,使客户端在用户请求的执行过程中无需等待执行结果;另外,系统服务器可以根据需要,通过调用监控列表中的用户请求,实现对用户请求的动态管理和全局监管,或根据调度策略,向存储设备排序下发该用户请求对应的操作命令,实现了对用户请求的异步执行。进而在用户请求即使执行失败后,用户也不需要重新发送用户请求,提高了用户的操作效率和使用体验,同时避免了命令死锁,增加了用户请求的并发量,提高了系统服务器的执行效率。
以下结合具体应用场景对所述方法进行详细、具体的描述。如图2所示,本发明应用场景具体包括以下步骤:
步骤201,系统服务器启动并初始化监控列表。
具体地,监控列表为系统服务器的全局变量,系统服务器启动后,判断数据库中是否存储有启动之前接收到的用户请求,如果数据库中没有存储用户请求,则系统服务器生成的监控列表为空;如果数据库中存储有执行状态为等待执行的用户请求,则系统服务器将该用户请求添加到生成的监控列表中,将该用户请求的执行状态设置为等待执行;如果数据库中存储有执行状态为正在执行的用户请求,则判断存储设备是否已经执行完该用户请求对应的操作命令,如果存储设备执行完该操作命令,则不将该用户请求添加到生成的监控列表中,并将该用户请求从数据库中删除;如果存储设备没有执行完该操作命令,则将该用户请求添加到生成的监控列表中,将该用户请求的执行状态设置为正在执行。
需要说明的是,系统服务器初始化监控列表后,可以获取监控列表中的用户请求对应的存储设备的状态信息,调度监控列表中执行状态为优先级最高的等待执行、且对应的存储设备的状态信息为空闲的用户请求,并向存储设备下发该用户请求对应的操作命令。系统服务器关闭后,监控列表也将随之被擦除,但数据库中仍保存有系统服务器关闭前接收到的用户请求。
步骤202,系统服务器接收来自客户端的用户请求。
为便于理解,在此假定系统服务器接收到的用户请求为“创建SAN(Storage Area Network,存储域网络)资源,并将创建的SAN资源与target(目标)端进行关联”。
步骤203,系统服务器对接收到的用户请求进行分析,获取该用户请求的分解步骤和分解步骤对应的存储设备的状态信息。
具体地,系统服务器接收到用户请求后,可以启动分析线程对该用户请求进行分析,将该用户请求分解为多个分解步骤,并获取各个分解步骤对应的存储设备的状态信息,包括存储设备的空闲情况。例如,系统服务器可以将“创建SAN资源,并将创建的SAN资源与target端进行关联”的用户请求分解为“创建SAN资源”和“将创建的SAN资源与target端绑定”两个分解步骤,并分别获取上述两个分解步骤对应的存储设备的空闲情况。
步骤204,系统服务器根据用户请求的分解步骤对应的存储设备的状态信息,设定用户请求的执行状态。
其中,用户请求的执行状态包括正在执行、等待执行和异常返回中的至少一种。当用户请求的分解步骤对应的存储设备的状态信息为空闲时,系统服务器根据调度策略执行该用户请求,并将用户请求的执行状态设定为正在执行;当存储设备的状态信息为忙碌时,系统服务器将该用户请求的执行状态设定为等待执行。
步骤205,系统服务器根据用户请求的分解步骤和执行状态更新监控列表。
具体地,系统服务器将用户请求的名称、分解步骤和执行状态,以及发起该用户请求的用户的名称添加到监控列表中,在监控列表中为用户请求新建一条记录,并在系统服务器的数据库中保存用户请求的上述相关信息。
步骤206,系统服务器向客户端返回响应消息,使该客户端释放用户请求对应的系统资源。
具体地,系统服务器根据用户请求的分解步骤和执行状态更新监控列表后,向发送该用户请求的客户端返回响应消息,由于系统服务器分析用户请求的时间为毫秒级,而执行用户请求的时间为分钟级,通过对用户请求的异步执行,可以使原本需要堵塞数分钟的用户界面在几秒钟内刷新完毕,使该客户端及时释放用户请求对应的系统资源。在用户请求的执行期间,用户不需要等待用户请求的执行结果,而是可以执行其他的功能操作,如继续向系统服务器发送用户请求或者查看用户请求的执行情况。
步骤207,系统服务器根据需要,调用所述监控列表中的用户请求信息,实现对用户请求的动态管理和全局监管或根据调度的策略,调度监控列表中满足执行条件的用户请求,实现对用户请求的排序下发。
具体地,系统服务器调用监控列表用户请求的信息,获取监控列表中的用户请求对应的存储设备的状态信息,并根据需要,对监控列表中用户请求进行动态管理和全局监管。例如,在某种情况下,需要将某个优级级高的用户请求取消,以便让其他的用户请求优先执行,此时就可以通过点击监控列表中该用户请求的取消执行按钮,并将需要优先执行的用户请求的优先级提高即可。
或者,系统服务器根据各存储设备的状态以及调度的策略,对所述监控列表中的用户请求,进行统一的调度和排序下发。其中系统服务器的调度策略,可以是用户请求的接收时间,也可以是用户请求或发送用户请求的客户端的优先级信息等。系统服务器根据所述调度策略和各存储设备的状态,对添加到监控列表中的用户请求进行统一排序下发。例如:对监控列表中的用户请求遍历后,按照系统服务器接收用户请求的时间,当前状态为等待执行、且对应的存储设备的状态为空闲的用户请求进行统一排序下发。
步骤208,系统服务器向存储设备下发用户请求对应的操作命令。
其中,用户请求对应的操作命令以命令行操作语句的形式发送到存储设备。当系统服务器选择满足执行条件的用户请求向存储设备下发操作命令后,修改该用户请求的属性信息,并使用修改后的属性信息刷新监控列表、更新数据库。例如,将用户请求的执行状态修改为正在执行,并根据用户请求的执行进度设置用户请求的各个分解步骤的执行情况。
步骤209,系统服务器接收存储设备对操作命令的执行结果,根据该执行结果更新监控列表。
具体地,存储设备将来自系统服务器的操作命令执行完毕后,向该系统服务器返回执行结果,系统服务器根据执行结果自动刷新监控列表、更新数据库,修改监控列表中的用户请求的执行状态,同时将执行结果以消息的形式发送给客户端,客户端在接收执行结果之前,不需要占用系统资源。当系统服务器接收到的执行结果为执行成功时,系统服务器向客户端返回执行成功的消息,并将该执行结果对应的用户请求从监控列表中删除;当系统服务器接收到的执行结果为执行失败时,系统服务器向客户端返回执行失败的消息,并将该执行结果对应的用户请求的执行状态设置为异常返回。
步骤210,系统服务器判断监控列表是否为空,如果监控列表为空,则结束流程;如果监控列表不为空,则执行步骤207。
具体地,系统服务器根据执行结果更新监控列表后,如果监控列表中还存在用户请求,则可以继续执行步骤207,调度监控列表中满足执行条件的用户请求。由于操作命令执行完毕后,某些存储设备会从忙碌状态转换成空闲状态,系统服务器可以从监控列表中选择执行状态为等待执行、且对应的存储设备的状态为空闲的用户请求进行后续的执行操作。如果监控列表中没有需要执行的用户请求,即监控列表为空时,则结束流程。
需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明中通过系统服务器动态处理接收到的用户请求,异步下发该用户请求对应的操作命令,使客户端无需等待用户请求的执行结果,降低了死锁和冲突的概率,提高了用户的操作效率和系统服务器的执行效率,缩短了用户界面的刷新时间,增强了用户的使用体验。
本发明在上述实施方式中提供了执行用户请求的方法和具体应用场景,相应地,本发明还提供了应用上述方法的系统服务器。
如图3所示,为本发明中的一种系统服务器的结构示意图,应用于包括客户端、系统服务器和存储设备的网络系统中,该系统服务器包括:收发模块31、分析模块32、生成模块33、调度模块34以及存储模块35。其中:
收发模块31,用于接收来自客户端的用户请求,向该客户端返回响应消息,以及向存储设备发送用户请求对应的操作命令,和接收存储设备对操作命令的执行结果。
分析模块32,与收发模块31和生成模块33电性连接,用于分析收发模块31接收到的用户请求,根据分析结果将该用户请求添加到生成模块33生成的监控列表中。
具体地,所述分析模块32,包括:
分析子模块321,用于分析接收到的用户请求,获取该用户请求的分解步骤和分解步骤对应的存储设备的状态信息。例如,当用户请求系统服务器“创建SAN资源,并将创建的SAN资源与target端进行关联”时,该分析子模块321将用户请求分解为“创建SAN资源”和“将创建的SAN资源与target端绑定”两个分解步骤,并分别获取上述两个分解步骤对应的存储设备的空闲情况。
设定子模块322,与分析子模块321电性连接,用于根据分析子模块321获取的分解步骤对应的存储设备的状态信息,设定用户请求的执行状态。例如:当存储设备的状态信息为空闲时,设定子模块322将用户请求的执行状态设定为正在执行;当存储设备的状态信息为忙碌时,设定子模块322将用户请求的执行状态设定为等待执行。
发送子模块323,与设定子模块322电性连接,用于将经过分析子模块321分析和设定子模块322设定执行状态的用户请求发送到生成模块33,供生成模块33形成用户请求的监控列表,并通知收发模块31向客户端返回响应消息。
具体地,发送子模块323将用户请求的名称、分解步骤和执行状态,以及发起该用户请求的用户的名称添加到监控列表中,在监控列表中为用户请求新建一条记录。
生成模块33,与所述收发模块31以及分析模块32电性连接,用于生成或更新监控列表,其中所述监控列表用于存储用户的请求。
具体地,监控列表为系统服务器中的全局变量,生成模块33在初始化时,通过全局变量预先生成监控列表。监控列表中包含收发模块31接收到的用户请求对应的用户请求信息,该用户请求信息包括用户请求名称、用户名、执行状态、查看详细信息的链接和取消执行按钮。其中,用户名为发送用户请求的用户的名称,执行状态包括正在执行、等待执行和异常返回中的至少一种,查看详细信息的链接用于获取用户请求的分解步骤、各个分解步骤对应的存储设备以及各个分解步骤的执行情况,取消执行按钮用于取消执行状态为等待执行的用户请求。本发明中的监控列表可以实时刷新,以实现对用户请求的动态管理和全局监视。
在随后的执行过程中,所述生成模块33还将用于根据分析模块32对新的用户请求的分析结果及时将该用户请求添加到监控列表,并在添加完毕后通知收发模块31向发送该用户请求的客户端返回响应消息。在调度模块34根据调度策略排序下发用户请求或接收到存储设备对操作命令的执行结果后,及时更新监控列表中的用户请求。具体为:当调度模块34根据调度策略下发新的用户请求操作命令给存储设备后,相应地要更新监控列表中的用户请求,例如:将原先处于等待执行状态的用户请求改为正在执行的状态;当存储设备对操作命令执行成功时,生成模块33将用户请求从监控列表中删除;当操作命令为执行失败时,生成模块33将用户请求的执行状态设置为异常返回。
另外,生成模块33在系统服务器发生故障时,能够及时地将监控列表中的用户请求保存到存储模块35上,以便在系统服务器恢复启动时,从存储模块35上读取原先未执行完毕的用户请求。
调度模块34,与生成模块33和收发模块31电性连接,用于根据需要调用生成模块33生成的监控列表中的用户请求的信息,或根据调度的策略调度监控列表中满足执行条件的用户请求,通知收发模块31向存储设备下发用户请求对应的操作命令。
具体地,调度模块34用于调用监控列表中的用户请求的信息,获取监控列表中的用户请求对应的存储设备的状态信息;选择执行状态为等待执行、且对应的存储设备的状态为空闲的用户请求,通知收发模块31向存储设备下发用户请求对应的操作命令,并通知生成模块33更新监控列表,该更新监控列表包括:将用户请求的执行状态修改为正在执行,并根据用户请求的执行进度设置用户请求的各个分解步骤的执行情况。
存储模块35,与生成模块33电性连接,用于在系统服务器故障时存储生成模块32生成的监控列表中尚未完成执行的用户请求,以保证在系统服务器关闭后不会被擦除。
如图4所示,为本发明中的一种执行用户请求的系统结构示意图,包括客户端41、系统服务器42和存储设备43,其中,
客户端41,用于向系统服务器42发送用户请求,并接收来自系统服务器42关于该用户请求的执行结果。
系统服务器42,用于在接收到客户端41的用户请求后启动分析线程,根据分析结果将用户请求添加到预先生成的监控列表中,并向发送该用户请求的客户端41返回响应消息,使该客户端41无需等待用户请求的执行结果。且进一步地,系统服务器42还可以根据需要,调用监控列表中的用户请求的信息,实现对用户请求的动态管理和全局监管,或调度监控列表中满足执行条件的用户请求,并向存储设备43下发该用户请求对应的操作命令。
存储设备43,用于接收来自系统服务器42的操作命令,向系统服务器42返回操作命令的执行结果。
进一步地,系统服务器42接收到存储设备43对操作命令的执行结果,根据该执行结果更新监控列表,具体地,系统服务器42在执行结果为执行成功时,将用户请求从监控列表中删除;或者在执行结果为执行失败时,将用户请求的执行状态设置为异常返回。
本发明中通过系统服务器42异步处理接收到的用户请求,使客户端41无需等待用户请求的执行结果,增强了用户的使用体验。进一步地,通过在系统服务器42上生成用户请求监控列表,以便根据需要,调用监控列表中的用户请求的信息,实现对用户请求的动态管理和全局监管,或根据调度策略调度监控列表中满足执行条件的用户请求,并向存储设备43排序下发该用户请求对应的操作命令,降低了死锁和冲突的概率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1、一种执行用户请求的方法,应用于包括客户端、系统服务器和存储设备的网络系统中,其特征在于,所述方法包括以下步骤:
所述系统服务器分析接收到的用户请求,根据分析结果将所述用户请求添加到预先生成的监控列表中,并向发送所述用户请求的客户端返回响应消息,使所述客户端无需等待所述用户请求的执行结果;
所述系统服务器根据需要,调用所述监控列表中的用户请求的信息,实现对用户请求的动态管理和全局监管,或调度所述监控列表中满足执行条件的用户请求,并向所述存储设备下发所述用户请求对应的操作命令。
2、如权利要求1所述的方法,其特征在于,所述分析结果包括所述用户请求的分解步骤和所述分解步骤对应的存储设备的状态信息,
所述系统服务器根据分析结果将用户请求添加到预先生成的监控列表中,具体包括:
所述系统服务器根据所述分解步骤对应的存储设备的状态信息,设定所述用户请求的执行状态;
所述系统服务器根据所述用户请求的分解步骤和执行状态更新所述监控列表。
3、如权利要求2所述的方法,其特征在于,所述执行状态包括正在执行或等待执行,
所述系统服务器根据分解步骤对应的存储设备的状态信息,设定用户请求的执行状态,具体为:
当所述存储设备的状态信息为空闲时,所述系统服务器执行所述用户请求,并将所述用户请求的执行状态设定为正在执行;当所述存储设备的状态信息为忙碌时,所述系统服务器将所述用户请求的执行状态设定为等待执行。
4、如权利要求1或3所述的方法,其特征在于,所述系统服务器调度所述监控列表中满足执行条件的用户请求,具体为:
所述系统服务器获取所述监控列表中的用户请求对应的存储设备的状态信息;
所述系统服务器选择执行状态为等待执行,且对应的存储设备的状态为空闲的用户请求。
5、如权利要求1所述的方法,其特征在于,所述系统服务器向存储设备下发用户请求对应的操作命令之后,还包括:
所述系统服务器接收所述存储设备对所述操作命令的执行结果,根据所述执行结果更新所述监控列表。
6、如权利要求5所述的方法,其特征在于,所述用户请求的执行状态还包括异常返回,
所述系统服务器根据执行结果更新监控列表,具体为:
当所述执行结果为执行成功时,所述系统服务器将所述用户请求从所述监控列表中删除;
当所述执行结果为执行失败时,所述系统服务器将所述用户请求的执行状态设置为异常返回。
7、一种系统服务器,应用于包括客户端、系统服务器和存储设备的网络系统中,其特征在于,所述系统服务器包括:
收发模块,用于接收来自所述客户端的用户请求,向所述客户端返回响应消息,并向所述存储设备发送用户请求对应的操作命令;
生成模块,用于生成或更新监控列表,所述监控列表用于存储用户请求;
分析模块,与所述收发模块和生成模块电性连接,用于分析所述收发模块接收到的用户请求,根据分析结果将所述用户请求添加到所述生成模块生成的监控列表中;
调度模块,与所述生成模块和收发模块电性连接,用于调用所述生成模块生成的监控列表中的用户请求的信息,或调度所述监控列表中满足执行条件的用户请求,通知所述收发模块向所述存储设备下发所述用户请求对应的操作命令。
8、如权利要求7所述的系统服务器,其特征在于,所述分析模块,具体包括:
分析子模块,用于分析接收到的用户请求,获取所述用户请求的分解步骤和所述分解步骤对应的存储设备的状态信息;
设定子模块,与所述分析子模块电性连接,用于根据所述分析子模块获取的所述分解步骤对应的存储设备的状态信息,设定所述用户请求的执行状态;
发送子模块,与所述设定子模块电性连接,用于将经过分析子模块分析和经过所述设定子模块设定执行状态的用户请求发送到所述生成模块,供所述生成模块更新所述监控列表,并通知所述收发模块向所述客户端返回响应消息。
9、如权利要求8所述的系统服务器,其特征在于,所述设定子模块,具体用于:
当所述存储设备的状态信息为空闲时,所述设定子模块将所述用户请求的执行状态设定为正在执行;
当所述存储设备的状态信息为忙碌时,所述设定子模块将所述用户请求的执行状态设定为等待执行。
10、如权利要求7或9所述的系统服务器,其特征在于,
所述调度模块,用于调用所述监控列表中的用户请求的信息,获取所述监控列表中的用户请求对应的存储设备的状态信息;或者根据调度策略,对当前尚未完成执行的用户请求进行统一调度,通知所述生成模块更新所述监控列表,以及通知所述收发模块向所述存储设备下发所述用户请求对应的操作命令。
11、如权利要求7所述的系统服务器,其特征在于,
所述收发模块,还用于接收所述存储设备对所述操作命令的执行结果;
所述生成模块,与所述收发模块电性连接,还用于根据所述收发模块接收到的存储设备执行结果更新所述监控列表;
所述根据执行结果更新监控列表,具体为:
当所述执行结果为执行成功时,所述生成模块将所述用户请求从所述监控列表中删除;
当所述执行结果为执行失败时,所述生成模块将所述用户请求的执行状态设置为异常返回。
12、如权利要求7所述的系统服务器,其特征在于,还包括:
存储模块,与所述生成模块电性连接,在系统服务器发生故障后用于存储所述生成模块生成的所述监控列表中的用户请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910147107A CN101562622B (zh) | 2009-06-05 | 2009-06-05 | 一种执行用户请求的方法及其对应的服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910147107A CN101562622B (zh) | 2009-06-05 | 2009-06-05 | 一种执行用户请求的方法及其对应的服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101562622A true CN101562622A (zh) | 2009-10-21 |
CN101562622B CN101562622B (zh) | 2012-09-26 |
Family
ID=41221240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910147107A Expired - Fee Related CN101562622B (zh) | 2009-06-05 | 2009-06-05 | 一种执行用户请求的方法及其对应的服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101562622B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895544A (zh) * | 2010-07-15 | 2010-11-24 | 深圳市普联技术有限公司 | 通信设备的多用户控制方法、多用户控制系统和服务器 |
CN102185860A (zh) * | 2011-05-10 | 2011-09-14 | 清华大学 | 用于集成电路制造设备的标准化底层控制驱动系统 |
CN102761604A (zh) * | 2012-06-11 | 2012-10-31 | 深圳中兴网信科技有限公司 | 请求处理系统、请求处理方法和服务器 |
CN102945352A (zh) * | 2012-11-06 | 2013-02-27 | 苏州懿源宏达知识产权代理有限公司 | 在计算机系统中分析并执行动作信息的方法 |
CN108134762A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 投放资源预定方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6466993B1 (en) * | 1998-11-05 | 2002-10-15 | Compaq Information Technologies Group, L.P. | Method and apparatus for performing transactions rendering between host processors and I/O devices using concurrent non-blocking queuing techniques and I/O bus write operations |
CN101005486B (zh) * | 2006-12-28 | 2011-07-27 | 金蝶软件(中国)有限公司 | 一种资源访问控制方法及系统 |
CN100542139C (zh) * | 2006-12-31 | 2009-09-16 | 华为技术有限公司 | 一种基于任务分组的资源分配方法和装置 |
-
2009
- 2009-06-05 CN CN200910147107A patent/CN101562622B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895544A (zh) * | 2010-07-15 | 2010-11-24 | 深圳市普联技术有限公司 | 通信设备的多用户控制方法、多用户控制系统和服务器 |
CN101895544B (zh) * | 2010-07-15 | 2013-10-30 | 普联技术有限公司 | 通信设备的多用户控制方法、多用户控制系统和服务器 |
CN102185860A (zh) * | 2011-05-10 | 2011-09-14 | 清华大学 | 用于集成电路制造设备的标准化底层控制驱动系统 |
CN102761604A (zh) * | 2012-06-11 | 2012-10-31 | 深圳中兴网信科技有限公司 | 请求处理系统、请求处理方法和服务器 |
CN102761604B (zh) * | 2012-06-11 | 2015-06-17 | 深圳中兴网信科技有限公司 | 请求处理系统、请求处理方法和服务器 |
CN102945352A (zh) * | 2012-11-06 | 2013-02-27 | 苏州懿源宏达知识产权代理有限公司 | 在计算机系统中分析并执行动作信息的方法 |
CN102945352B (zh) * | 2012-11-06 | 2016-04-13 | 国网山东临朐县供电公司 | 在计算机系统中分析并执行动作信息的方法 |
CN108134762A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 投放资源预定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101562622B (zh) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422853B2 (en) | Dynamic tree determination for data processing | |
CN107590001B (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
CN108510082B (zh) | 对机器学习模型进行处理的方法及装置 | |
CN102880503B (zh) | 数据分析系统及数据分析方法 | |
CN112732466B (zh) | 一种服务调用方法、装置和系统 | |
CN101176079B (zh) | 在服务器和客户机之间分配计算的方法以及分布式计算机系统 | |
WO2017059331A1 (en) | Workflow service using state transfer | |
CN102955694A (zh) | 基于WebKit 浏览器的客户端实现方法以及客户端 | |
US9280402B2 (en) | System and method for updating a dual layer browser | |
CN101562622B (zh) | 一种执行用户请求的方法及其对应的服务器 | |
CN103714172A (zh) | 页面处理方法、装置及系统 | |
CN113377551A (zh) | 无人车任务的分配方法、装置、电子设备及存储介质 | |
CN113127335A (zh) | 一种系统测试的方法和装置 | |
CN110750780A (zh) | 基于多业务系统的用户角色权限融合方法、装置以及设备 | |
CN107147706A (zh) | 数据导出方法及装置 | |
CN117608845A (zh) | 任务批处理方法、装置、终端设备以及存储介质 | |
CN115550354A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN111190731A (zh) | 基于权重的集群任务调度系统 | |
CN113065848B (zh) | 一种支持多类集群后端的深度学习调度系统及调度方法 | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN115268909A (zh) | 一种web前端创建并运行构建任务的方法、系统和终端 | |
CN114301970A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN103888537A (zh) | 一种基于web页面的网格计算方法及系统 | |
CN113553152A (zh) | 作业调度方法及装置 | |
CN116775276B (zh) | 分布式计算方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120926 Termination date: 20200605 |