[发明专利]一种基于SOA大并发高性能工作流程服务器系统有效
申请号: | 201410489200.8 | 申请日: | 2014-09-23 |
公开(公告)号: | CN104267946A | 公开(公告)日: | 2015-01-07 |
发明(设计)人: | 于晓义;詹卫许;易勇强;董灿;吴方权;陈彬;胡俊杨;陈晓洪;王勇 | 申请(专利权)人: | 中国南方电网有限责任公司;云南云电同方科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/50 |
代理公司: | 昆明大百科专利事务所 53106 | 代理人: | 何健 |
地址: | 510613 *** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 soa 并发 性能 工作 流程 服务器 系统 | ||
技术领域
本发明涉及面向服务架构(SOA)的大并发高性能工作流服务器技术,实现并行工作流程引擎,超大并发极限用户规模应用场景,并可以持续不停机的扩展服务器能力。
背景技术
企业级的工作流程服务系统,在高并发场景下,依赖于数据库的性能,这导致超大规模用户应用场景中,处理响应时间和等待周期都相当长。对于有对响应要求较高的企业应用业务场景,比如缴费,客户服务等,加快系统处理流程,减少排队时间,提高用户满意度至关重要。传统工作流系统和工作流引擎纯粹依赖软件优化,依赖于服务器硬件自身性能,扩展和提高非常有限。本发明充分利用并发技术,阵列多处理器,创新的技术来实现高性能和大并发工作流服务器,填补此项空白。
发明内容
传统服务器采用请求队列阻塞方式,多线程的处理请求,这样讲导致在多个任务切换的过程中,中处理器将从阻塞状态恢复到运行状态。这种切换虽然是纳秒级别的,当并发到10000个请求连接,也将使得操作系统在内核和用户态之间频繁切换,大大降低了处理器能够并发的上限响应能力。
本发明采用下列技术方案来实现。
一种基于SOA大并发高性能工作流程服务器系统,由服务请求组包和分发模块,工作流数据准备模块,工作流服务执行模块,工作流处理结果缓存模块组成,其连接关系为:服务请求组包和分发模块,工作流服务执行模块,工作流处理结果缓存模块依序连接,工作流处理结果缓存模块经过数据库与工作流数据准备模块连接,工作流数据准备模块与工作流服务执行模块相连;其中:
所述的服务请求组包和分发模块使用C语言在多个高速网络接口计算机或者路由器上编写,充分利用带宽和处理器缓存,容纳大量的请求,并使用非阻塞的组包处理方式,所有请求都在RAM中处理完毕;
工作流服务执行模块使用一个主处理的硬件CPU,配合多个核心的通用并行处理硬件组GPU,包括以下操作:
1)主处理器负责将已经就绪的流程依赖的数据对齐组装;
2)按照请求包的流程关系对应好并行处理器GPU;
3)控制GPU执行,多核心的并行可扩张GPU,保证执行速度高于数据库存储速度;
4)将返回结果整理插入到哈希表中。
数据对齐组装程序结构如下:
① 数据准备模块来的聚合数据,将根据GPU不同要求,进行对齐组装,以取得较高的GPU执行率,对齐操作根据操作系统和内存边界的要求进行,alignmentReadyBuffer函数完成对齐检查;
② 请求包的流程关系由缓存流程定义的workFlowDefHash中获得,并作为GPU执行kernel的参数传递;
③ GPU控制执行程序调用GPU,并将返回结果缓存到哈希表workFlowResultHash,以提供工作流处理结果缓存模块做数据缓存和持久化。
CPU部分的代码使用C编写,GPU并行处理部分的虚拟机代码使用OPENCL编写。
此模块程序结构和源代码摘要如下:
初始化GPU
#include CL/cl.h
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int InitOpenCL( const char *program_source,
cl_uint* alignment,
const unsigned int map_size,
unsigned int vector_width,
const unsigned int gpu_algo,
const unsigned int platform_num,
const unsigned int dev_num);
int InitOpenCL(const char *program_source, cl_uint* alignment,
const unsigned int map_size,
const unsigned int gpu_algo,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国南方电网有限责任公司;云南云电同方科技有限公司,未经中国南方电网有限责任公司;云南云电同方科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410489200.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:表单设计器及表单设计方法
- 下一篇:一种可折叠电动车车把