进程调度方法和系统技术方案

技术编号:3854436 阅读:258 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种进程调度方法,包括:确定位于服务器处的宿主分发进程,所述宿主分发进程通过相应的通讯协议与工作进程通讯;所述宿主分发进程将客户端请求定位到所述工作进程。本发明专利技术还提供了一种进程调度系统,包括:宿主分发模块,位于服务器处,所述宿主分发模块通过相应的通讯协议与工作模块通讯;所述工作模块,所述宿主分发模块将客户端请求定位到所述工作模块。由于采用上述技术方案,本发明专利技术实现了以下技术效果:提高了服务请求响应;隔离了不同应用之间的资源冲突;屏蔽了调用方对协议的选择,可实现灵活部署。

【技术实现步骤摘要】

本专利技术涉及计算机技术,更具体地涉及进度调度方法和系统。技术背景在现有三层架构中,应用层因为承载了大量并发逻辑计算,随着 并发用户数增多,业务逻辑的复杂性增大,应用层往往成为整个系统 的瓶颈。网络拓朴结构的复杂性,选取合适的通讯协议也是影响应用层处 理能力的瓶颈之一。目前大多数技术或者采用单一进程处理业务逻辑,或者使用多个 业务进程,但相互间隔离,或者使用一个调度器,调度客户端请求到 不同的工作进程,但是调度器与工作进程只能部署在同一机器上。这 些对应用层的硬件设备要求仍然很高,对大并发,复杂运算的性能仍 然不满足要求。以SAP R/3的客户机/服务器体系结构为例,共分为三层表示 层,应用层和数据库层。在表示层<——>应用层< —— >数据库服务 器之间的通讯只采用TCP/IP协议作为传输协议。在应用层,可以由多个应用服务器组成,但在每一服务器中仅存 一个调度器进程,协调工作进程,调度进程和工作进程总是涉及一个 相同程序,部署在同一实例中,工作于表示层与应用层之间的调度器 启动和管理这些进程,但是调度器的失败会导致整个应用的失败。基于上述的分析,使用多协议,多进程的处理方式根据应用的 分类,将耦合性高的调用部署在同一进程中,同时将一些运算复杂, 耗系统资源,I/O读写高的调用单独部署。使用自动分发技术,根据 请求分类以及检测服务器处理能力的方式,自动转换请求到不同的处高服务端处理请求的能力。同时根据请求是本地还是远程,能自动切换不同的通讯协议(如IPC, TCP等),用以降低网 络传输的代价。因此,需要一种新型的进程调度方法和系统。
技术实现思路
为了解决上述问题之一,本专利技术提供了一种进程调度方法,包 括确定位于服务器处的宿主分发进程,所述宿主分发进程通过相应 的通讯协议与工作进程通讯;所述宿主分发进程将客户端请求定位到 所述工作进程。在上述进程调度方法中,优选地,所述通讯协议包括HTTP、 TCP、 IPC。在所述宿主分发进程和所述工作进程部署在同一台机器 上时,使用IPC协议。在上述进程调度方法中,优选地,所述客户端请求具有URI,用 于指定所请求的通讯协议和资源的位置。在上述进程调度方法中,优选地,所述宿主分发进程根据配置文 件和负载进行检测,动态修改URI,将所述客户端请求重定向到正确 的工作进程中。在上述进程调度方法中,优选地,所述宿主分发进程启动一监控 进程,所述监控进程用于实时监控所述工作进程的处理速度和/或内 存消耗,如果发现所述处理速度或所述内存消耗超过阈值,则再启动 一个同类型的新工作进程,同时通知所述宿主分发进程修改所述 URI,将所述客户端请求定位到所述新工作进程。在上述进程调度方法中,优选地,所述工作进程具有唯一标识, 保存在URI中。在上述进程调度方法中,优选地,所述客户端请求与URI之间 具有映射关系,所述映射关系保存在调用配置文件中。本专利技术还提供了一种进程调度系统,包括宿主分发模块,位于 服务器处,所述宿主分发模块通过相应的通讯协议与工作模块通讯;5所述工作模块,所述宿主分发模块将客户端请求定位到所述工作模块。在上述进程调度系统中,优选地,所述通讯协议包括HTTP、TCP、 IPC。由于采用上述技术方案,本专利技术实现了以下技术效果1. 提高了服务请求响应;2. 隔离了不同应用之间的资源冲突;3. 屏蔽了调用方对协议的选择,可实现灵活部署。附图说明图l示出了根据本专利技术的进程调度方法的流程图;理图3示出了根据本专利技术的实施例的进程调度方法的二次寻址过程的原理图;以及图4示出了根据本专利技术的进程调度系统的框图。具体实施例方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。图1示出了根据本专利技术的进程调度方法的流程图。该进度调度方法包括步骤102,确定位于服务器处的宿主分发进程,所述宿主分发进程通过相应的通讯协议与工作进程通讯;步骤104,所述宿主分发进程将客户端请求定位到所述工作进程。在上述进程调度方法中,优选地,所述通讯协议包括HTTP、TCP、 IPC。在所述宿主分发进程和所述工作进程部署在同一台机器上时,使用IPC协议。在上述进程调度方法中,优选地,所述客户端请求具有URI,用于指定所请求的通讯协议和资源的位置。在上述进程调度方法中,优选地,所述宿主分发进程根据配置文件和负载进行才全测,动态修改URI,将所述客户端请求重定向到正确的工作进程中。在上述进程调度方法中,优选地,所述宿主分发进程启动一监控进程,所述监控进程用于实时监控所述工作进程的处理速度和/或内存消耗,如果发现所述处理速度或所述内存消耗超过阈值,则再启动一个同类型的新工作进程,同时通知所述宿主分发进程修改所述URI,将所述客户端请求定位到所述新工作进程。在上述进程调度方法中,优选地,所述工作进程具有唯一标识,保存在URI中。在上述进程调度方法中,优选地,所述客户端请求与URI之间具有映射关系,所述映射关系保存在调用配置文件中。理图。根据本专利技术的进程调度方法是一种能支持多协议通道,并在每种协议进程中根据应用和负载的情况,自动分发客户端请求,将其转移到不同的工作进程的方法。包括若干个协议进程,若干个工作进程,复杂逻辑计算根据应用和负载分布在不同的工作进程中,并能根据本地还是跨机器调用,自动适配不同的通讯协议,对调用方封装了通讯细节。1.使用多协议宿主进程方案,根据通讯协议划分不同的宿主分发进程(DispatchHost),管理员可以根据网络环境配置通讯的协议,如HTTP或者TCP, HTTP方式的信道在跨越防火墙上有优势;TCP方式的信道常用在局域网内通信,速度比HTTP快;IPC信道用于同一台机器的进程间通信,通信不占用网络资源,速度最快,通过减少网络传输消耗,提高服务响应请求的能力。允许一个服务器支持1到多个Dispatch Host。表示层发送请求给应用层时,传输层根据请求内容,在请求数据中附加上URI,指明本次调用使用的通讯协议和资源的位置,再传输请求给特定协议的宿主进程。同一个服务器既可以使用多协议,也可以只部署单一协议,由协议配置文件决定。2.根据业务应用,划分不同的工作进程,同一协议的工作进程使用同一个程序文件,启动时基于不同的功能带有不同的参数,工作 进程可以部署到不同的机器上,这样不同的应用运行在不同的进程中,减少相互间I/O,内存,CPU资源的争夺。每个宿主分发进程使用 自己协议的工作进程,表示层发出的请求经过底层封装的传输层,附 带上URI,就可以准确寻址到自己的宿主分发进程。宿主进程根据请 求的关键字Key,再次修正URI,将请求转发给工作进程。如果工作进 程和宿主分发进程部署在同一台机器,可以使用IPC协议,提高处理 速度。同时宿主分发进程还启动 一 个监控进程,实时监控工作进程的处 理速度和内存消耗,如果发现处理速度或者内存超过阀值,则再启动 一个同类型的工作进程,并通知分发进程,由分发进程转发请求修改URI时,将请求定 位到新的工作进程。同类型工作进程启动数有上限要求。下面以应用层同时支持两种协议(HTTP、 TCP)的宿主进程来 说明上述的方案,应用层部署了两个宿主进程IIS进程和Windows 服务进程。使用HTTP协议的应用运行在IIS进程本文档来自技高网
...

【技术保护点】
一种进程调度方法,其特征在于,包括: 确定位于服务器处的宿主分发进程,所述宿主分发进程通过相应的通讯协议与工作进程通讯; 所述宿主分发进程将客户端请求定位到所述工作进程。

【技术特征摘要】

【专利技术属性】
技术研发人员:郑芸
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1