进程调度方法和系统的制作方法

文档序号:6575348阅读:170来源:国知局
专利名称:进程调度方法和系统的制作方法
技术领域
本发明涉及计算机技术,更具体地涉及进度调度方法和系统。
技术背景在现有三层架构中,应用层因为承载了大量并发逻辑计算,随着 并发用户数增多,业务逻辑的复杂性增大,应用层往往成为整个系统 的瓶颈。网络拓朴结构的复杂性,选取合适的通讯协议也是影响应用层处 理能力的瓶颈之一。目前大多数技术或者采用单一进程处理业务逻辑,或者使用多个 业务进程,但相互间隔离,或者使用一个调度器,调度客户端请求到 不同的工作进程,但是调度器与工作进程只能部署在同一机器上。这 些对应用层的硬件设备要求仍然很高,对大并发,复杂运算的性能仍 然不满足要求。以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进程中,使用TCP协议 的运行在Windows服务进程中。
IIS进程里执行一些耗时长,不常用的操作,如MRP运算,而 Windows进程里执行一些日常操作,如单据的保存等。传输层根据请 求内容的Key,在配置文件中查找正确的URI,并附加到客户端请求内 容中,然后根据URI,寻址到正确的协议进程,原理图如图2所示。
图3示出了根据本发明的实施例的进程调度方法的二次寻址过程 的原理图。在每个协议宿主进程内部,还存在二次寻址,用来查找正 确的工作进程,以Windows服务HOST进程举例,示例图如图3所 示。
工作进程分别部署在两台服务器上,客户端和服务器同在局域网 中,只使用TCP协议,客户端请求到宿主进程,由宿主进程根据客 户端请求内容的方法名,查找DispatchHost.exe.config中配置的URI内容,将请求重定向到工作进程;或者宿主进程根据监控进程的结 果,修改URI,将新请求重定向新开启的工作进程,每个工作进程运 行在独立的工作区。
整个架构包括设计时和运行时。
设计时包括
1. 使用代码接口抽取工具,工具通过反射,查找DLL的类、 方法定义,再根据类定义上的Attribute标记,决定此类是需要远程调 用,还是本地调用,抽取需要远程调用的类的定义和方法定义,生成 此对象的供服务端与客户端调用的接口代理类,如上图的 Clientlnterface (客户端接口类)和Serverlnterface (月良务端接口 类),这样开发人员编写代码的时候就不需要考虑远程传输的问题, 由代理接口类完成协议封装,屏蔽调用方对协议的选择,可灵活部 署。
2. 将工作进程按应用分类,使用XML,配置工作进程的启用参 数在app.exe.config中,每个工作进程有一个唯一的标识,启动时, 读取配置文件,获耳又唯一标识。
3. 将客户端请求按应用分类,使用XML,配置客户端的请求与 URI的映射关系,将其保存在InvokeService.config中,URI信息中包 括每个工作进程的唯 一 标识。
运行时包括
4. 运行过程中分发进程根据配置文件和负载检测,动态修改 URI,将请求重定向到正确的工作进程中。
图4示出了根据本发明的进程调度系统的框图。
该进程调度系统200,包括宿主分发模块202,位于服务器 处,所述宿主分发模块通过相应的通讯协议与工作模块通讯;所述工 作模块204,所述宿主分发模块将客户端请求定位到所述工作模块。 在上述进程调度系统中,优选地,所述通讯协议包括HTTP、 TCP、 IPC。
由于采用上述技术方案,本发明实现了以下技术效果
91. 提高了服务请求响应;
2. 隔离了不同应用之间的资源沖突;
3. 屏蔽了调用方对协议的选择,可实现灵活部署。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应 包含在本发明的保护范围之内。
权利要求
1.一种进程调度方法,其特征在于,包括确定位于服务器处的宿主分发进程,所述宿主分发进程通过相应的通讯协议与工作进程通讯;所述宿主分发进程将客户端请求定位到所述工作进程。
2. 根据权利要求1所述的进程调度方法,其特征在于,所述通 讯协议包括HTTP、 TCP、 IPC。
3. 根据权利要求2所述的进程调度方法,其特征在于,在所述 宿主分发进程和所述工作进程部署在同一台机器上时,使用IPC协 议。
4. 根据权利要求1至3中任一项所述的进程调度方法,其特征 在于,所述客户端请求具有URI,用于指定所请求的通讯协议和资源 的位置。
5. 根据权利要求4所述的进程调度方法,其特征在于,所述宿 主分发进程根据配置文件和负载进行检测,动态修改URI,将所述客 户端请求重定向到正确的工作进程中。
6. 根据权利要求1至3中任一项所述的进程调度方法,其特征 在于,所述宿主分发进程启动一监控进程,所述监控进程用于实时监 控所述工作进程的处理速度和/或内存消耗,如果发现所述处理速度 或所述内存消耗超过阈值,则再启动一个同类型的新工作进程,同时 通知所述宿主分发进程修改所述URI,将所述客户端请求定位到所述 新工作进程。
7. 根据权利要求1至3中任一项所述的进程调度方法,其特征 在于,所述工作进程具有唯一标识,保存在URI中。
8. 根据权利要求7所述的进程调度方法,其特征在于,所述客 户端请求与URI之间具有映射关系,所述映射关系保存在调用配置 文件中。
9. 一种进程调度系统,其特征在于,包括 宿主分发模块,位于服务器处,所述宿主分发模块通过相应的通讯协议与工作才莫块通讯;所述工作模块,所述宿主分发模块将客户端请求定位到所述工作 模块。
10. 根据权利要求9所述的进程调度系统,其特征在于,所述通 讯协议包括HTTP、 TCP、 IPC。
全文摘要
本发明提供了一种进程调度方法,包括确定位于服务器处的宿主分发进程,所述宿主分发进程通过相应的通讯协议与工作进程通讯;所述宿主分发进程将客户端请求定位到所述工作进程。本发明还提供了一种进程调度系统,包括宿主分发模块,位于服务器处,所述宿主分发模块通过相应的通讯协议与工作模块通讯;所述工作模块,所述宿主分发模块将客户端请求定位到所述工作模块。由于采用上述技术方案,本发明实现了以下技术效果提高了服务请求响应;隔离了不同应用之间的资源冲突;屏蔽了调用方对协议的选择,可实现灵活部署。
文档编号G06F9/46GK101630272SQ20091009097
公开日2010年1月20日 申请日期2009年8月19日 优先权日2009年8月19日
发明者芸 郑 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1