一种基于网格的城市公交信息管理与调度决策支持系统转让专利

申请号 : CN200910062793.9

文献号 : CN101587639B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 洪流陈学广王煜陈琛龚静雯杨尚柳晶晶郝语嘉姚鑫黄辉

申请人 : 华中科技大学

摘要 :

本发明公开了一种基于网格的城市公交信息管理与调度决策支持系统,该系统包括主服务器和位于分布式网格计算系统内的自治域两部分;主服务器包括网格门户、工作流引擎和认证中心;自治域中分别包括域信息服务模块、域作业管理器、域管理器以及资源节点集群;本发明着重解决两个关键问题:一是如何在已有的网格环境中部署交通应用服务,即服务网格化部署;二是如何利用已有服务进行公交决策支持,即网格服务实例化流程。通过采用网格来规范构建城市交通决策支持系统,将各种决策资源封装成网格服务,分布在相对独立的各个网格计算节点上,实行多节点的协同调度,本系统具有高资源共享、高吞吐率计算和高协同工作的特点。

权利要求 :

1.一种基于网格的城市公交信息管理与调度决策支持系统,其特征在于:该系统包括主服务器(1)和位于分布式网格计算系统内的自治域(2.1、2.2、...、2.n)两部分,n为正整数,表示自治域的个数;

主服务器(1)包括网格门户(1.1)、工作流引擎(1.2)和认证中心(1.3);

网格门户(1.1)负责提供用户访问网格环境的入口;

工作流引擎(1.2)负责完成从抽象网格工作流模型到具体网格工作流的工作流实例化流程,得到具体的可执行子作业信息,最后将子作业分配给相应的域作业管理器进行实际的作业执行;

认证中心(1.3)负责对由网格门户(1.1)接收的用户身份信息进行验证并授予相应的系统权限;

自治域(2.1、2.2、...、2.n)中分别包括域信息服务模块(3.1、3.2、...、3.n)、域作业管理器(4.1、4.2、...、4.n)、域管理器(5.1、5.2、...、5.n)以及资源节点集群(6.1、

6.2、...、6.n);

资源节点集群(6.1、6.2、...、6.n)完成网格资源的构建和决策资源的存储、封装、注册、管理、监控与执行,是实现交通决策服务的场所;

域信息服务模块(3.1、3.2、...、3.n)负责管理与维护自治域内网格元数据的信息,实现自治域的资源视图;域信息服务模块(3.1、3.2、...、3.n)通过网格门户(1.1)向用户提供网格信息服务,并实时更新网格资源信息;各域信息服务模块收集本自治域内的资源节点集群报告的节点服务信息,同时周期性的通过点对点方式相互通讯交换各自治域内的资源信息,以建立全局的资源映射;

域作业管理器(4.1、4.2、...、4.n)负责收集工作流引擎(1.2)提供的作业请求信息,使用决策资源对用户作业请求进行及时的响应,调用自治域内相应的资源节点集群内的资源节点完成作业请求执行;同时,在作业执行的过程中,域作业管理器接收资源节点集群的服务实时监控信息,通过资源调度使网格资源与决策资源获得合理的分配使用,改善整个自治域内的动态负载平衡;

域管理器(5.1、5.2、...、5.n)负责管理自治域内虚拟组织的资源,了解虚拟组织中资源的统计信息和单个组织的统计信息,为用户提供查询、访问资源的统一接口,协调资源的共享使用,并与下层的资源节点集群进行资源信息的交互;

各资源节点集群内包括相同或不同个数的多个资源节点(a),资源节点(a)分为计算资源节点和存储资源节点;各资源节点(a)内均设置有节点服务容器(b)和若干网格资源(h)和决策资源(j);网格资源(h)是指通用的网格设备,决策资源(i)是指与交通决策相关的资源;

节点服务容器(b)内设置有节点信息服务模块(c)、节点资源服务模块(d)、节点资源管理服务模块(e)、传输服务模块(f)和资源监控服务模块(g);

节点服务容器(b)负责在网格环境内的各个资源节点上提供节点资源服务模块的安装、部署、运行和监控的环境,并为监视资源节点的资源实时状态提供支持;

节点信息服务模块(c)用于维护本地节点资源或服务元数据信息,将资源注册到自治域内的节点上,使得节点的资源或服务信息为网格所识别;对于已部署到节点服务容器(b)内的服务,节点信息服务模块(c)自动收集其信息;对于未部署到节点服务容器(b)内的资源则由资源提供者输入资源信息;同时节点信息服务模块(c)将周期性的向域信息服务模块报告注册或收集到本地节点的信息;

节点资源服务模块(d)负责对网格资源(h)和决策资源(j)进行服务化封装,使得资源能以服务形式供域作业管理器调用;节点资源服务模块(d)包括计算节点资源服务模块和存储节点资源服务模块;其中计算节点资源服务模块主要负责提供网格服务实例化流程中的计算任务计算所需的计算环境,存储节点资源服务模块主要负责提供网格服务实例化流程中的计算任务所需数据源的存储空间;

节点资源管理服务模块(e)负责管理与协调本资源节点内的各类网格资源与决策资源,同时接收域管理器的实时资源控制信息以协助完成网格全局的资源管理要求;

传输服务模块(f)采用网格文件传输协议GridFTP,负责完成作业过程中存储资源节点与计算资源节点间所需要的数据传输服务;

资源监控服务模块(g)负责在系统工作时对每个资源节点集群上资源的静态性能和动态性能参数进行监视,了解整个网格网络的负载及运行情况;资源监控服务模块(g)周期性的实时更新这些动态和静态的信息,作为域作业管理器进行自治域内负载平衡的参考信息;同时,资源监控服务模块(g)收集同一应用实例的资源性能利用情况,对运行中的单一网格应用实例进行性能评估,反映实例运行过程中的资源需求和消耗情况,指导工作流引擎(1.2)的动态分配和调度。

2.根据权利要求1所述的基于网格的城市公交信息管理与调度决策支持系统,其特征在于:系统按照下述流程进行网格服务实例化:第1步用户身份验证

第1.1步网格门户(1.1)接受用户提供的用户证书,证书信息包括用户编号、姓名、登录密码和所属组织,采用X.509认证证书格式标准书写,并交由认证中心(1.3)负责对用户的身份进行验证;

第1.2步认证中心(1.3)包括轻量目录访问协议LDAP和MyProxy在线证书服务器;首先,认证中心(1.3)将接收到的用户证书传给LDAP目录,将此用户证书信息与LDAP目录中记录的过往用户认证信息进行比对,如果比对成功,就给用户发送一个认证通过的断言消息,如果比对失败,则给用户发送一个认证失败的断言消息;接着,LDAP目录查询目录中用户属性信息,根据用户提交的证书和用户的属性,给用户发送一个属性断言消息,确定用户访问系统的权限;同时,为简化用户自己保存和管理私有密钥和证书文件的过程,认证中心(1.3)使用MyProxy在线证书服务器,保存和管理用户证书,为用户取回、更新和创建临时短期证书;

第2步服务信息匹配

第2.1步域信息服务模块接收登录用户提交的服务请求,根据服务请求信息对自治域内的服务信息进行搜索匹配,并返回满足请求的自治域内的交通网格服务的WSDL网格服务描述文件;

第2.2步域信息服务模块通过订阅/通知方式收集域节点信息服务模块(c)中的服务状态信息,以支持域作业管理器的服务选择、分配;同时,域信息服务模块以P2P的形式对相邻自治域内信息服务进行数据同步复制;

第3步工作流建模

第3.1步工作流引擎(1.2)提供一个图形化的编辑界面辅助用户确定业务流程中各服务之间的过程关系,进行个性化的抽象网格工作流模型建模,完成所搜索到的服务与工作流中的活动之间一一对应关系的建立,并以业务流程执行语言的形式表示其具体网格工作流;

第3.2步工作流引擎(1.2)根据BPEL中服务与子任务的对应关系得到具体的可执行子作业信息,将其定义为作业描述语言JDL描述的网格作业,并动态部署进域作业管理器;

第4步作业的服务分配

域作业管理器接受工作流引擎(1.2)发送的以简单对象访问协议SOAP为传输协议的网格作业请求JDL作业描述文件,根据JDL中作业地址、作业名称、作业与服务绑定信息完成作业向服务的分配;

第5步服务的实例化部署

第5.1步如果JDL作业描述文件中定义的是用户提交的自编写应用程序,那么域作业管理器首先到用户空间中下载此程序,采用Axis提供的资源包装工具对程序进行应用服务封装,并根据此Web服务中的WSDL描述注册、安装,在服务实例化后再对结果代码进行签署,防止篡改;如果JDL作业描述文件中定义的是系统已开发的交通领域服务,那么域作业管理器直接定位此服务的位置并进行实例化操作;

第5.2步域作业管理器根据作业描述中数据源的需求信息发送数据传输请求给合适的数据节点资源服务模块(d);同时,把所执行的服务分解成若干个并行或串行的计算任务,根据服务的要求和空闲资源的具体信息,选择满足服务最小要求的计算节点资源服务模块(d)参与计算,并将计算任务调度给参与计算的计算节点资源服务模块(d)等待数据传输;

第6步服务数据源的访问

节点服务容器(b)接受域作业管理器发送的数据传输请求,创建数据节点资源服务模块(d),按照请求访问存储节点中的数据与文件,并传输给域作业管理器指定的对应计算资源节点;其中数据访问由开放网格服务架构的数据访问接口OGSA-DAI实现,包括查询、表示转换以及传输三类活动;

第7步服务数据源的传输

传输服务模块(f)实现数据源存储节点资源服务模块(d)与计算节点资源服务模块(d)间的数据传输,根据用户的传输需求信息和存储资源的实际负载、网络状况、副本管理机制确定传输的属性设定,将数据传输给域作业管理器分配的实际计算节点资源服务模块(d);

第8步服务的执行与监控

第8.1步网格中的指定计算节点服务容器(b)从域作业管理器下载代码执行环境并安装注册,作为网格中的计算节点资源服务模块(d),等待所需数据的传输以执行计算任务;

第8.2步域作业管理器创建的移动部署代理,用于监控属于同一计算程序的计算任务的分布、执行和最后的中止;

第8.3步各个计算资源节点资源服务模块(d)在获得计算数据后按照部署的计算程序执行计算任务,随时向移动部署代理反馈状态报告并传输至域作业管理器供用户监控及管理;

第9步服务结果存储

域作业管理器将计算结果汇集并通过传输服务模块(f)传输至系统数据库中;

第10步服务结果展示

网格门户(1.1)获取存储在系统数据库中的计算结果,通过用户视图的形式展现给用户;

在系统进行服务实例化的整个流程中,各域管理器负责对自治域内的存储节点资源和计算节点资源进行管理,与下层的节点资源管理服务模块(e)进行资源信息的交互,管理系统中资源节点中的资源的退出与加入。

说明书 :

一种基于网格的城市公交信息管理与调度决策支持系统

技术领域

[0001] 本发明属于智能公交与决策支持领域,具体涉及一种基于网格的城市公交信息管理与调度决策支持系统。

背景技术

[0002] 随着国民经济的快速发展,人员、物资的流动总量不断增长,城市不断发展的态势与城市空间资源有效性之间的矛盾使得城市公共交通系统的发展越来越具有重要的意义。由于缺乏先进的技术手段,交通信息的采集与管理始终落后于发展的需要,给城市交通的顺畅和人车出行安全带来了很大的影响,全面制约着城市经济的发展。
[0003] 城市优先发展公交,加快城市公共交通系统的基础设施建设是走可持续发展道路的必然选择。首先,我国大部分城市的公交系统普遍信息化水平不高,管理运行长期以来是采用人工手动的方法依靠经验来进行,因此开发信息化、智能化的城市公共交通系统是发展的必然要求;其次,现行系统中各个子系统之间交互困难,为了动态的获取实时客流信息,确保车辆准点运行,并使出行者能够通过车载信息服务系统实时共享交通出行信息,我们必须提供一个信息交互共享更方便的系统;再者,传统的智能交通系统采用集中式处理,运营成本高,并且缺乏对紧急事故的应急处理能力,,因此为了更好的存储计算海量交通信息,我们需要设计一个更适于处理分布式资源、具有实时交通信息处理能力的系统。
[0004] 随着计算、通信、存储技术的高速发展,现代计算机网络技术已经能实现大规模超级计算、海量数据存储等高难度作业,而网格(Grid)技术更是这一领域的最新研究热点,它的出现能完美的解决传统的公共交通系统与现实交通状况发展的矛盾。网格技术通过网络将在地域上分散分布的各类计算机、数据库和存储设备等资源连接起来,形成面向广域范围的、对用户透明的高性能计算及服务环境。网格实现了互联网上所有资源的全面连通,把整个互联网整合成一台巨大的虚拟超级计算机,实现计算资源、存储资源、通信资源、软件资源、信息资源和知识资源的全面共享。

发明内容

[0005] 本发明的目的在于提供一种基于网格的城市公交信息管理与调度决策支持系统,该系统具有资源共享度高、协同工作性强、系统可扩展性强的特点。
[0006] 本发明提供的基于网格的城市公交信息管理与调度决策支持系统,其特征在于:该系统包括主服务器和位于分布式网格计算系统内的自治域两部分;
[0007] 主服务器包括网格门户、工作流引擎和认证中心;
[0008] 网格门户负责提供用户访问网格环境的入口;
[0009] 工作流引擎负责完成从抽象网格工作流模型到具体网格工作流的工作流实例化流程,得到具体的可执行子作业信息,最后将子作业分配给相应的域作业管理器进行实际的作业执行;
[0010] 认证中心负责对由网格门户接收的用户身份信息进行验证并授予相应的系统权限;
[0011] 自治域中分别包括域信息服务模块、域作业管理器、域管理器以及资源节点集群;
[0012] 资源节点集群完成网格资源的构建和决策资源的存储、封装、注册、管理、监控与执行,是实现交通决策服务的场所;
[0013] 域信息服务模块负责管理与维护自治域内网格元数据的信息,实现自治域的资源视图;域信息服务模块通过网格门户向用户提供网格信息服务,并实时更新网格资源信息;各域信息服务模块收集本自治域内的资源节点集群报告的节点服务信息,同时周期性的通过点对点方式相互通讯交换各自治域内的资源信息,以建立全局的资源映射;
[0014] 域作业管理器负责收集工作流引擎提供的作业请求信息,使用决策资源对用户作业请求进行及时的响应,调用自治域内相应的资源节点集群内的资源节点完成作业请求执行;同时,在作业执行的过程中,域作业管理器接收资源节点集群的服务实时监控信息,通过资源调度使网格资源与决策资源获得合理的分配使用,改善整个自治域内的动态负载平衡;
[0015] 域管理器负责管理自治域内虚拟组织的资源,了解虚拟组织中资源的统计信息和单个组织的统计信息,为用户提供查询、访问资源的统一接口,协调资源的共享使用,并与下层的资源节点集群进行资源信息的交互。
[0016] 本发明系统利用网格技术、地理信息(GIS)技术、通用分组无线业务(GPRS)等多种技术手段,来解决智能化公共交通信息系统中所涉及的多项关键技术难题。就公共交通信息系统的设计而言,本发明采用网格来规范构建城市交通决策支持系统,将各种决策资源封装成网格服务,分布在相对独立的各个网格计算节点上,实行多节点的协同调度,是基于目前国内公交调度系统开发现状的调查分析所得出的解决方案。其特点在于:
[0017] (1)资源共享度高
[0018] 本发明利用网格的强大的数据存储技术,很好的解决了海量GPS、GIS数据库的无缝存储问题,为决策支持所需要的大规模数据集的计算存储奠定了基础。从信息共享角度来看,本发明将资源划分为自治域的形式进行管理。各公汽子公司的公交调度子系统作为一个网格自治域,每个自治域单独对其自有的大量原始的交通信息做初步的预处理,并根据需要将处理过的数据封装成各种各样的网格服务,这种结构有效打破了信息异构性瓶颈,给决策者提供更快速有效的高层次决策信息。从系统集成角度来看,本发明打破了传统公交调度子系统各自封闭的状态,通过实施统一的标准实现异构系统间的资源共享,使各公交调度子系统间(即网格自治域)通过松耦合的服务调用紧密地结合在一起,实现了智能公交信息平台的构想。
[0019] (2)协同工作性强
[0020] 本发明是跨业务的实时、动态交通系统,能动态且平滑地访问分布式的各种业务功能服务,并按照需要利用网格工作流动态整合成新的业务流程,而不必关心具体执行模块的所属部门、地理位置、内部结构、执行细节,大大的提高了系统的协同工作能力。
[0021] (3)系统可扩展性强
[0022] 由于发明中各功能模块均采用网格服务的形式进行开发,并采用网格工作流模型进行组合,大大的增加了系统的松耦合度。用户可以通过对基本模块的重组配置完成所需的不同功能,而新加入的功能模块通过网格服务形式的封装能够方便的进行调用,避免了传统封闭式智能交通系统中存在的重复编码问题。

附图说明

[0023] 图1为本发明系统的结构示意图;
[0024] 图2为本发明资源节点结构示意图;
[0025] 图3为本发明服务实例化流程图;
[0026] 图4为本发明GridFTP数据传输连接创建与传输创建过程图;
[0027] 图5为本发明自治域作业调度流程图。

具体实施方式

[0028] 本发明着重解决两个关键问题:一是如何在已有的网格环境中部署交通应用服务,即服务网格化部署;二是如何对已部署的服务进行注册、搜索、创建、执行以支持公交决策,即网格服务实例化流程。
[0029] 本发明服务网格化部署涉及五个部分:资源、作业、信息服务、自治域管理和人机交互。其中,资源是指需要在网格中使用的计算资源、存储资源、公交仿真软件与公交遗留系统资源、公交异构数据资源等;作业指网格服务在网格环境中从实例化、服务分配、执行到得到计算结果的过程;信息服务完成网格环境中的资源注册及搜索过程;自治域管理完成网格环境中资源的自治域内管理及自治域间交互;人机交互则是在服务注册、选择、执行过程中为了实现特定用户作业需求所采取的用户与网格环境的交互作用,通过用户空间及网格门户1.1实现的。
[0030] 下面通过借助实施例更加详细地说明本发明,但以下实施例仅是说明性的,本发明的保护范围并不受这些实施例的限制。
[0031] 如图1所示,本发明系统包括主服务器1和位于分布式网格计算系统内的自治域2.1、2.2、...、2.n两部分,n为正整数,表示自治域的个数。
[0032] 主服务器1包括网格门户1.1、工作流引擎1.2和认证中心1.3。
[0033] 网格门户1.1负责提供用户访问网格环境的入口,包括用户空间、应用程序入口和用户指令入口三部分。其中,用户空间负责管理与监控网格环境中用户的具体授权操作(包括用户登录、用户信息查询、用户操作记录等),以使得各个不同用户能够根据自身需求得到个性化的定制服务;应用程序入口提供给用户一个提交自编写应用程序的操作接口,用户使用此接口将自编写应用程序部署到网格后,可以直接利用网格的计算资源与存储资源进行此程序的分布式计算,这一功能主要是针对交通科学实验中大量仿真算法的验证;用户指令入口则是提供了一个用户访问系统已有交通决策网格服务的接口,用户通过输入服务调用指令(如服务名称、数据源地址等)调用系统已开发的一系列交通领域相关的网格决策服务,完成自身所需要的决策支持功能。
[0034] 工作流引擎1.2主要用于完成抽象网格工作流模型的实例化流程并管理具体网格工作流的执行。它从网格门户1.1接收用户提供的抽象网格工作流模型,完成抽象网格工作流模型到具体网格工作流的工作流实例化流程(其中抽象网格工作流模型属于问题域,具体网格工作流属于解空间,工作流实例化即把抽象网格工作流模型与具体网格工作流通过跨所属域的匹配方法建立映射的过程,完成问题的解映射),得到具体的可执行子作业信息(包括作业程序所在自治域、作业物理地址、作业顺序等),最后将子作业分配给相应的域作业管理器进行实际的作业执行。
[0035] 当用户提供的不是直接的抽象网格工作流模型时,工作流引擎1.2还可以帮助用户建立抽象网格工作流模型。此时,它从网格门户1.1接收用户提供的决策任务信息,提供图形编辑界面帮助用户建立抽象网格工作流模型。
[0036] 认证中心1.3负责对用户的身份进行验证并授予相应的系统权限。它从网格门户1.1接收用户提供的认证证书信息,确认认证是否成功,如成功则确定用户登录资格并保存证书,如失败则返回认证失败信息。
[0037] 自治域2.1、2.2、...、2.n中分别包括域信息服务模块3.1、3.2、...、3.n、域作业管理器4.1、4.2、...、4.n、域管理器5.1、5.2、...、5.n,以及资源节点集群6.1、6.2、...、6.n。
[0038] 资源节点集群6.1、6.2、...、6.n内包括相同或不同个数的多个资源节点a,资源节点a可以分为计算资源节点和存储资源节点二类,其中计算资源节点指能够提供计算所需要的硬件系统(如CPU、内存等)及软件平台的资源节点,存储资源节点指能够提供数据存储所需要的硬件系统(如存储器、缓存)及软件平台(如各类数据库管理系统、文件管理系统)的资源节点。各类资源节点a的结构均如图2所示,其内均设置有节点服务容器b和若干网格资源h和决策资源j。节点服务容器b内设置有节点信息服务模块c、节点资源服务模块d、节点资源管理服务模块e、网格文件传输协议(GridFTP)传输服务模块f和资源监控服务模块g。
[0039] 节点服务容器b负责在网格环境内的各个节点上提供一个网格服务安装、部署、运行、监控的环境,并为监视网格节点的资源实时状态提供支持。任何节点资源服务模块d必须配置到节点服务容器b中才能被搜索与调用。
[0040] 节点信息服务模块c的功能与域信息服务模块相似,它维护本地节点资源或服务元数据信息,将资源注册到自治域内的节点上,使得节点的资源或服务信息为网格所识别。对于已部署到节点服务容器b内的服务,节点信息服务模块c自动收集其信息;对于未部署到节点服务容器b内的资源则由资源提供者手工输入资源信息。同时节点信息服务模块c将周期性的向域信息服务模块报告注册或收集到本地节点的信息。
[0041] 节点资源服务模块d负责对网格资源h和决策资源j进行服务化封装,使得资源能以松耦合的服务形式供域作业管理器调用。节点资源服务模块d包括计算节点资源服务模块和存储节点资源服务模块。其中计算节点资源服务模块主要负责提供网格服务实例化流程中的计算任务计算所需的计算环境,存储节点资源服务模块主要负责提供网格服务实例化流程中的计算任务所需数据源的存储空间。
[0042] 节点资源管理服务模块e的功能与域管理器相似,负责管理与协调本节点内的各类网格资源与决策资源,同时接收域管理器的实时资源控制信息以协助完成网格全局的资源管理要求。
[0043] 传输服务模块(f)采用GridFTP(网格文件传输协议),它负责完成作业过程中存储资源节点与计算资源节点间所需要的数据传输服务,包括传输客户端模块和索引服务器模块两个部分。传输客户端模块主要负责在服务实例化流程中存储资源节点与计算资源节点间数据传输的建立、第三方传输、出错重传、销毁创建等等;索引服务器模块负责提供数据所在的位置信息,包括节点信息目录模块和节点文件索引模块两个部分,其中,节点信息目录模块负责存储资源节点的简单文件功能管理,而节点文件索引模块负责存储资源节点信息状态的统计记录,如文件访问信息的统计记录、文件的发布信息、文件的汇集信息等;
[0044] 资源监控服务模块g负责在交通网格工作时对每个集群上资源的静态性能和动态性能参数进行监视,以了解整个网格网络的负载及运行情况,以备调度之用。资源监控服务模块g周期性的实时更新这些动态和静态的信息,作为域作业管理器进行自治域内负载平衡的参考信息。同时,资源监控服务模块g收集同一应用实例的资源性能利用情况,如计算资源的运行情况、存储资源和仪器资源地使用情况等,以便对运行中的单一网格应用实例进行性能评估,反映实例运行过程中的资源需求和消耗情况,以指导工作流引擎1.2的动态分配和调度。
[0045] 网格资源h和决策资源j是提供交通决策支持服务的实际资源。其中,网格资源h指与交通领域无关的网格设备,如计算资源、存储资源、网络连接设备、传感器、摄像头等;决策资源则指与交通决策密切相关的资源,如交通流预测模型、交通信息数据库、交通仿真工具等。
[0046] 域信息服务模块3.1、3.2、...、3.n是交通网格系统底层架构中的重要组成部分,负责管理与维护自治域内网格元数据(包括网格环境中的各种资源和服务元数据)的信息,实现自治域的资源视图,通过网格门户1.1向用户提供网格信息服务,并实时更新网格资源信息。各域信息服务模块收集本自治域内的节点信息服务模块c报告的节点服务信息,同时周期性的通过点对点方式相互通讯交换各自治域内的资源信息,以建立全局的资源映射。
[0047] 域作业管理器4.1、4.2、...、4.n负责收集工作流引擎1.2提供的作业请求信息,使用资源对用户作业请求进行及时的响应,调用自治域内相应的节点资源服务模块d完成作业请求执行;同时,在作业执行的过程中,域作业管理器接收资源监控服务模块g的服务实时监控信息,通过资源调度使网格资源与决策资源获得合理的分配使用,改善整个自治域内的动态负载平衡。在本发明中,域作业管理器采用基于PBS的调度机制,由3个模块构成,分别是用户服务器、作业调度器和节点执行器。其中用户服务器是整个域作业管理器的核心部分,负责接收各种外部请求、实现对资源的监测、分配和管理;作业调度器负责进行任务的调度;节点执行器主要是进行资源的探测,并反馈给用户服务器。
[0048] 域管理器5.1、5.2、...、5.n负责管理自治域内虚拟组织的资源,了解虚拟组织中资源的统计信息和单个组织的统计信息,为用户提供查询、访问资源的统一简单接口,协调资源的共享使用,并与下层的节点资源管理服务模块e进行资源信息的交互。
[0049] 在服务网格化部署过程完成之后,本发明基于网格的城市公交信息管理与调度决策支持系统便可以调用交通应用服务以支持交通决策应用。其典型的网格服务实例化流程如图3所示:
[0050] (1)用户身份验证
[0051] (1.1)网格门户1.1接受用户提供的用户证书,证书信息包括用户编号、姓名、登录密码、所属组织等,采用X.509认证证书格式标准书写,并交由认证中心1.3负责对用户的身份进行验证;
[0052] (1.2)在本实例中,认证中心1.3主要包括轻量目录访问协议(LDAP)和MyProxy在线证书服务器。首先,认证中心1.3将接收到的用户证书传给LDAP目录,将此用户证书信息与LDAP目录中记录的过往用户认证信息进行比对,如果比对成功,就给用户发送一个认证通过的断言消息,如果比对失败,则给用户发送一个认证失败的断言消息。接着,LDAP目录查询目录中用户属性信息,根据用户提交的证书和用户的属性,给用户发送一个属性断言消息,确定用户访问系统的权限。同时,为简化用户自己保存和管理私有密钥和证书文件的过程,认证中心1.3使用MyProxy在线证书服务器,保存和管理用户证书,为用户取回、更新和创建临时短期证书;
[0053] (2)服务信息匹配
[0054] (2.1)域信息服务模块接收登录用户提交的服务请求(其中,服务请求信息包括:服务名称、服务编号、服务地址、服务端口、服务数据源位置等,并以XML的形式进行编码),根据服务请求信息对自治域内的服务信息进行搜索匹配,(目前的匹配算法主要考虑通过相同的服务名称或服务编号进行匹配),并返回满足请求的自治域内的交通网格服务的WSDL网格服务描述文件;
[0055] (2.2)域信息服务模块通过订阅/通知方式收集域节点信息服务模块c中的服务状态信息,以支持域作业管理器的服务选择、分配;同时,域信息服务模块以点对点(P2P)的形式对相邻自治域中的域信息服务模块进行数据同步复制;
[0056] (3)工作流建模
[0057] (3.1)工作流引擎1.2提供一个图形化的编辑界面辅助用户确定业务流程中各服务之间的过程关系(根据应用的业务逻辑和所搜索到的WSDL网格服务描述文件信息中服务功能进行匹配),进行个性化的抽象网格工作流模型建模,完成所搜索到的服务与工作流中的活动之间一一对应关系的建立,并以业务流程执行语言(BPEL)的形式表示其具体网格工作流。
[0058] (3.2)工作流引擎1.2根据BPEL中服务与子任务的对应关系得到具体的可执行子作业信息(包括作业程序所在自治域、作业物理地址、作业顺序等),将其定义为作业描述语言(JDL)描述的网格作业,并动态部署进域作业管理器。
[0059] (4)作业的服务分配
[0060] 域作业管理器接受工作流引擎1.2发送的以简单对象访问协议(SOAP)为传输协议的网格作业请求JDL作业描述文件,根据JDL中作业地址、作业名称、作业与服务绑定信息完成作业向服务的分配。
[0061] (5)服务的实例化部署
[0062] (5.1)如果JDL作业描述文件中定义的是用户提交的自编写应用程序,那么域作业管理器首先到用户空间中下载此程序,采用Axis提供的资源包装工具对程序进行应用服务封装(将以可执行文件EXE形式编译的自编写应用程序封装成为Web服务形式),并根据此Web服务中的WSDL描述注册、安装,在服务实例化后再对结果代码进行签署,防止篡改;
[0063] (5.2)如果JDL作业描述文件中定义的是系统已开发的交通领域服务,那么域作业管理器直接定位此服务的位置并进行实例化操作。
[0064] (5.3)接着,域作业管理器根据作业描述中数据源的需求信息发送数据传输请求给合适的数据节点资源服务模块d;同时,把所执行的服务分解成若干个并行或串行的计算任务,根据服务的要求和空闲资源的具体信息(其中服务要求信息包括服务的最小CPU频率、最少CPU占用率、服务数据源占用的最小存储空间、中间数据最小存储空间等,空闲资源信息包括资源的CPU类型、资源的CPU总频数、资源的CPU当前利用率、资源当前可利用存储空间大小、资源当前可利用内存大小等),选择一部分满足服务最小要求的计算节点资源服务模块d参与计算,并将计算任务调度给参与计算的计算节点资源服务模块d等待数据传输;
[0065] (6)服务数据源的访问
[0066] 存储资源自治域内节点部署了节点服务容器b,接受域作业管理器发送的数据传输请求,创建数据节点资源服务模块d,按照请求包含的数据位置、数据传输终点等信息访问存储节点中的数据与文件,并传输给域作业管理器指定的对应计算节点。其中数据访问由开放网格服务架构的数据访问接口(OGSA-DAI)实现,包括查询、表示转换以及传输等三类活动;
[0067] (7)服务数据源的传输
[0068] 传输服务模块f实现数据源存储节点资源服务模块d与计算节点资源服务模块d间的数据传输,根据用户的传输需求信息(如传输最小速率、容错率等)和存储资源的实际负载、网络状况、副本管理机制等确定传输的属性设定,将数据传输给域作业管理器分配的实际计算节点资源服务模块d;
[0069] (8)服务的执行与监控
[0070] (8.1)网格中的指定计算节点服务容器b从域作业管理器下载代码执行环境并安装注册,成为了网格中的计算节点资源服务模块d,等待所需数据的传输以执行计算任务;
[0071] (8.2)域作业管理器创建的移动部署代理,用于监控属于同一计算程序的计算任务的分布、执行和最后的中止,它可以转移到客户指定的目的地执行,也可以随时改变位置,以便在给计算任务提供数据或从计算任务得到数据时尽量减少网络中的数据流量;
[0072] (8.3)各个计算资源节点资源服务模块d在获得计算数据后按照部署的计算程序执行计算任务,随时向移动部署代理反馈状态报告并传输至域作业管理器供用户监控及管理;
[0073] (9)服务结果存储
[0074] 域作业管理器将计算结果汇集并通过传输服务模块f传输至系统数据库中,系统服务表现层采用C#.NET技术编写,使用SQL Server数据库作为最终结果的存储数据库。在收集计算结果阶段,移动部署代理可以复制或转移到存放结果数据的SQL SERVER所在主机,有效地控制各个资源提供者传送过来的结果数据流,并在存储最终结果前再对这些数据进行处理。
[0075] (10)服务结果展示
[0076] 网格门户1.1通过.NET数据访问接口(ActiveX Data Objects,ADO.NET)获取存储在SQL SERVER数据库中的计算结果,通过用户视图的形式展现给用户。
[0077] (11)自治域管理
[0078] 在整个服务实例化流程中,域管理器均负责对自治域内的存储节点资源和计算节点资源进行管理,与下层的节点资源管理服务模块e进行资源信息的交互,管理系统中节点资源的退出与加入,称为存储资源管理和计算资源管理。
[0079] 在网格服务实例化流程步骤(7)中,本发明涉及到网格的传输服务模块f的数据传输,其GridFTP数据传输连接创建与传输创建过程如图4所述:
[0080] (1)用户首先通过身份验证登录传输客户端,传输客户端读取用户信息建立用户数据空间;
[0081] (2)用户在专属的用户数据空间中提交数据文件传输请求,传输客户端通过文件逻辑名查询节点文件索引,找出包含此逻辑文件的节点目录,接着通过节点信息目录映射此逻辑文件在存储资源节点中的物理地址返回给用户;
[0082] (3)用户设置数据传输的参数,包括注册申请缓存空间,指定回调函数,设定缓存大小、设定传输模式、设置传输数据类型、设置服务器静止/活动等,建立传输客户端与存储资源节点间的数据传输协定;
[0083] (4)GridFTP启动自身的数据传输服务从源节点传输数据到目标节点。
[0084] 需要注意的是与传统的标准文件传输协议(FTP)的安全模式不同的是GridFTP协议包含网格安全基础架构(GSI)的安全机制,因此在建立连接时需要通过合法证书的验证来完成。在这里我们采用Java商业网格工具包(Java Commodity Grid Toolkit)所提供的功能和接口,生成并获取代理证书,再将其打包成可以被存储资源节点所接受的形式,提交给存储资源节点验证。
[0085] 在网格服务实例化流程中的步骤(8)中,本发明涉及到系统的自治域作业调度。其作业管理器中的自治域作业调度流程如图5所示:
[0086] (1)在自治域调度中,作业管理器将作业提交到本地作业调度器的作业队列中,同时向用户服务器发出运行作业的请求;
[0087] (2)用户服务器与作业调度器进行周期性通信,当用户服务器接收到作业请求后,会根据作业的需求通知作业调度器所需要的资源数和资源类型;
[0088] (3)作业调度器与节点执行器进行通信,探测每个资源的状态;
[0089] (4)作业调度器通知用户服务器可用资源,同时通过调度给作业分配所要求的资源;
[0090] (5)用户服务器将作业发送到各个通用运行服务(General RunningService,GRS)中,通用运行服务启动和监控作业的执行,并将执行结果返回给用户服务器。
[0091] (6)通用运行服务通过数据服务访问由GridFTP传输的执行作业所需的数据。
[0092] 本发明不仅局限于上述具体实施方式,本领域一般技术人员根据本发明公开的内容,可以采用其它多种具体实施方式实施本发明,因此,凡是采用本发明的设计结构和思路,做一些简单的变化或更改的设计,都落入本发明保护的范围。