首页> 中国专利> 为多网格应用提供统一界面的插件、系统及方法

为多网格应用提供统一界面的插件、系统及方法

摘要

本发明提供了一种为多网格应用提供统一界面的插件,包括用于提供作业描述文件模板的作业单元、用于提供输入UI描述文件模板的输入UI单元和用于提供输出UI描述文件模板的输出UI单元,所述作业单元分别与所述输入UI单元和所述输出UI单元连接。基于上述插件,本发明还提供了一种为多网格应用提供统一界面的系统及方法。本发明将网格应用的作业描述和界面描述统一封装,能够被多种客户端部署执行,实现了“一次开发,多处部署执行”的设计思想,具有良好的扩展性;同时在客户端,通过与网格中间件的交互,实现对作业提交和查询的支持,使得用户可以方便有效地使用网格资源。

著录项

  • 公开/公告号CN101042648A

    专利类型发明专利

  • 公开/公告日2007-09-26

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN200710098583.6

  • 发明设计人 胡春明;王贝贝;沃天宇;

    申请日2007-04-20

  • 分类号G06F9/44;

  • 代理机构北京同立钧成知识产权代理有限公司;

  • 代理人刘芳

  • 地址 100083 北京市海淀区学院路37号

  • 入库时间 2023-12-17 19:11:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-06-11

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20090415 终止日期:20130420 申请日:20070420

    专利权的终止

  • 2009-04-15

    授权

    授权

  • 2008-04-02

    实质审查的生效

    实质审查的生效

  • 2007-09-26

    公开

    公开

说明书

技术领域

本发明涉及一种为多网格应用提供统一界面的插件、系统及方法,尤其是为作业提交和作业查询提供统一界面的方法。

背景技术

随着计算技术,尤其是近年来网络技术和应用的不断发展,计算模式也在不断发生着变化,从早期的单一主机、主机/终端模式演化到以构件技术和分布对象技术为代表的客户/服务器(Client/Server)模式,再逐步形成了以服务为中心的客户/网络(Client/Network)计算模式。网格计算(GridComputing)是一类典型的客户/网络计算模式,其目的是使分布在网络上的各类异构、自治的资源按照需要进行能力集成、共享和协同工作,形成动态的虚拟组织,实现跨自治域的可信资源组织、管理和利用,提高资源的综合利用效率,有效地满足面向互联网的复杂应用对大规模计算能力和海量数据处理的需求,并最终实现跨域应用的资源共享与集成。网格的最终目的是为科技人员和普通用户提供更多的资源、功能和交互性。为了拉近网格和用户的距离,降低用户使用网格的门槛,需要良好的客户端作为网格资源的接入方式,最大程度地为用户隐藏网格资源的细节。因此,网格应用的展现方式和用户与网格系统的交互成为网格应用研究领域的一个重要问题。

利用网格上的计算节点执行作业,是网格应用的一个典型场景。该场景下,在应用展现方面面临如下问题:

(1)统一描述问题:多样性的网格应用需要以一种统一的方式展现作业输入输出用户界面(User Interface,简称UI),不同应用的作业描述需要以一种统一的描述语言说明作业对资源的需求;

(2)用户访问问题:首先,用户能在任何时间、任何地点,以自己习惯的方式访问和使用网格资源;其次,目前很多网格系统都采取各自为政的方式,开发各自的客户端,这不仅带来了重复劳动,而且各个网格系统无法统一访问,这些网格从内部看是网格,但从外部看可以说是一个个数据孤岛群;

(3)用户使用问题:降低用户学习成本,用户界面自然友好。

从网格展现层角度,现有技术中,网格门户框架GridSphere提供了一个网格门户开发框架,但是每个应用都需要独立开发一个基于超文本链接标记语言/Java服务器端页面(Hypertext Markup Language/Java Server Pages,简称HTML/JSP)的人机界面,可扩展性和可重用性不高;计算资源的统一接口(Uniform Interface to Computing Resource,简称UNICORE)客户端/网格编程环境(Grid Programming Environment,简称GPE)提供了一个灵活用户友好的客户端框架,隐藏网格技术用到的具体协议和语言,能够提交作业给不同的网格中间件,但是UNICORE框架不够开放,客户端过于复杂庞大,不利于快速开发和应用。

从UI技术角度,现有技术中,微软的可扩展应用标记语言(ExtensibleApplication Markup Language,简称XAML)采用可扩展标记语言(ExtensibleMarkup Language,简称XML)表达UI。运行时,XAML文件被运行环境打开,以Windows的界面组件渲染界面,发生事件时,调用用户自己的事件处理程序(.NET程序),具备平台底层的支持(操作系统内置)。但是对于网格应用展现而言存在以下缺陷:定义复杂,不适合描述界面相对简单的网格应用UI;与底层环境紧耦合,不利于在异构环境中实现界面渲染和消息触发。

另外,介绍如下相关概念和主要规范。

(1)网格应用:通常,网格应用指基于网格所构造的一个问题求解系统。一般来说,用户可以通过一个网格应用执行多个网格应用任务(GridApplication Task),如网格生物计算应用中包含了基因比对、基因序列拼接以及基因预测等应用任务。一个应用任务具有明确的需求、输入、输出和执行序列。在五层沙漏模型中,这是一个应用层的概念。

(2)作业:用户对应用任务的一次执行称为一个用户作业。与操作系统中进程的概念类似,网格中的作业是用户任务在网格系统中的映像。当网格的资源有限时,多个作业将争用网格资源。在五层沙漏模型中,这也是一个应用层的概念。

(3)作业提交描述语言(Job Submission Description Language,简称JSDL):JSDL规范是国际上通用的网格作业提交语言,它是为了解决不同网格系统之间作业描述方式不同的问题而产生的。各网格系统之间遵循统一的JSDL作业描述规范,可以使得网格系统之间的互兼容性得到完善。JSDL定义了作业基本信息描述、作业所属应用描述、作业资源需求描述和作业输入输出文件描述等内容。

发明内容

为了解决网格应用的统一描述问题,封装应用的作业描述和界面描述,本发明提供了一种为多网格应用提供统一界面的插件,包括用于提供作业描述文件模板的作业单元、用于提供输入UI描述文件模板的输入UI单元和用于提供输出UI描述文件模板的输出UI单元,所述作业单元分别与所述输入UI单元和所述输出UI单元连接。

为了实现统一的应用展现,本发明还提供了一种为多网格应用提供统一界面的系统,包括用于解析所述输入UI描述文件模板并生成输入UI的输入UI解析呈现模块和参数采集模块,所述参数采集模块与所述输入UI解析呈现模块连接,其特征在于,还包括所述插件,用于提供作业描述文件模板、输入UI描述文件模板和输出UI描述文件模板,且所述输入UI单元与所述输入UI解析呈现模块连接。

为了实现对作业的提交,所述系统还包括用于编辑作业描述文件的编辑模块和用于提交作业描述文件的提交模块,所述编辑模块分别与所述参数采集模块、所述提交模块和所述作业单元连接。

为了实现对作业的查询,所述系统还包括用于解析所述输出UI描述文件模板并生成输出UI的输出UI解析呈现模块,与所述输出UI单元和所述参数采集模块连接。

为了对作业信息进行统计,所述系统还包括用于统计作业信息的统计管理模块,与数据库连接。

为了实现对作业的提交,本发明还提供了一种为多网格应用提供统一界面的方法,包括:

解析输入UI描述文件模板,生成输入UI;

根据所述输入UI采集到的作业参数,解析作业描述文件模板,生成作业描述文件;

提交所述作业描述文件。

为了对作业信息进行存储和管理,所述提交所述作业描述文件之后还包括,获得作业标识(Identification,简称ID),并将所述作业ID和所述作业参数发送给数据库。

为了实现对作业的查询,本发明还提供了一种为多网格应用提供统一界面的方法,包括:

根据作业ID向数据库查询获得作业信息;

根据所述作业信息解析输入UI描述文件模板,生成输入UI,并且根据所述作业信息解析输出UI模板文件描述,生成输出UI。

为了对实现作业信息的实时更新,还包括根据接收到的作业状态信息更新所述作业信息。

本发明将网格应用的作业描述和界面描述统一封装,能够被多种客户端部署执行,实现了“一次开发,多处部署执行”的设计思想,具有良好的扩展性;同时在客户端,通过与网格中间件的交互,实现对作业提交和查询的支持,使得用户可以方便有效地使用网格资源。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明所提供的一种为多网格应用提供统一界面的插件的优选实施例的结构示意图。

图2为本发明所提供的一种为多网格应用提供统一界面的系统的优选实施例的结构示意图。

图3为本发明所提供的一种为多网格应用提供统一界面的方法的优选实施例一的流程图。

图4为本发明所提供的一种为多网格应用提供统一界面的方法的优选实施例二的流程图。

具体实施方式

首先介绍一下可扩展的网格应用标记语言(Extensible GridApplication Markup Language,简称XGAML),XGAML是一种用XML格式定义网格应用UI的语言。基于对现有典型网格应用的分析,选取支持如下出现频率最高的UI元素。输入UI元素:文本、文本框、下拉框、上传文件,输出UI元素:文本、文件链接、图片链接、文件内容。XGAML语法描述了UI元素及其属性,属性作为该元素的子元素来表示。

输入UI元素内容模型如下:

文本元素(label):子元素value表示文本内容;

文本框元素(text):子元素name、value分别表示文本框名称、文本值;

下拉框元素(select):子元素name、option分别表示下拉框名称、选择值,选择值可以有多个;

上传文件元素(file):子元素name表示上传文件框名称。

输出UI元素内容模型如下:

文本元素(label):子元素value表示文本内容;

文件链接元素(filehref):子元素address、text分别表示文件地址、显示内容;

图片链接元素(imagehref):子元素address、height、width分别表示图片地址、显示高度、显示宽度;

文件内容元素(filecontent):子元素address表示文件地址。

网格应用UI描述在客户端中被解释执行,遵循如下处理规则:

根元素(input或output)下定义的元素为UI元素;

UI元素的子元素描述了其属性,通过解析UI元素的子元素获得属性,每种UI元素定义的属性如上所述;

UI元素定义的顺序是它被渲染呈现的顺序,UI元素将按照描述文档中定义的顺序被逐个渲染。

在本发明所提供的一种为多网格应用提供统一界面的插件的优选实施例中,参见图1,包括用于提供作业描述文件模板的作业单元、用于提供输入UI描述文件模板的输入UI单元和用于提供输出UI描述文件模板的输出UI单元,所述作业单元分别与所述输入UI单元和所述输出UI单元连接。在实际应用中,所述插件适用于多种网格应用。另外,所述的三个描述文件模板均以XML文档的形式体现,下面给出三个描述文件模板的定义。

作业描述文件模板:采用国际标准的作业提交描述语言JSDL定义应用作业描述。此处称为作业描述文件模板的原因在于:作业描述可以被划分为与应用相关部分和与具体作业相关部分,前者能够在所述插件生成阶段确定,而后者只能在作业提交运行时获得,如需要用户输入的作业参数等。在作业描述文件模板中,与应用相关部分,填充确定数值;与具体作业相关部分,填充变量名,在运行时被替换为变量值,这些变量在输入UI描述文件模板中定义。

输入UI描述文件模板:采用XGAML,支持四种在典型网格应用中出现频率最高的输入UI元素:文本、文本框、下拉框和上传文件。输入UI描述文件模板要符合XGAML的可扩展标记语言模式(XML Schema)。

输出UI描述文件模板:采用XGAML描述,支持四种在典型网格应用中出现频率最高的输出UI元素:文本、文件链接、图片链接和文件内容。输出UI描述文件模板要符合XGAML的XML Schema。

此外,上述三个描述文件模板之间的关联关系体现在:①作业描述文件模板中引用的变量需要在输入UI描述文件模板中有所定义;②作业描述文件模板中的输入文件要与输入UI描述文件模板中的定义相符;③作业描述文件模板中的输出文件要与输出UI描述文件模板中的定义相符。

通过实现上述作业单元、输入UI单元和输出UI单元,生成一个可以由多种客户端部署,并被解析执行的实现网格应用展现的插件。

基于上述本发明所提供的一种为多网格应用提供统一界面的插件,在本发明所提供的一种为多网格应用提供统一界面的系统的优选实施例中,参见图2,包括用于解析所述输入UI描述文件模板并生成输入UI的输入UI解析呈现模块和参数采集模块,所述参数采集模块与所述输入UI解析呈现模块连接,其特征在于,还包括所述插件,用于提供作业描述文件模板、输入UI描述文件模板和输出UI描述文件模板,且所述输入UI单元与所述输入UI解析呈现模块连接。

可选地,为了实现对作业的提交,所述系统还包括用于编辑作业描述文件的编辑模块和用于提交作业描述文件的提交模块,所述编辑模块分别与所述参数采集模块、所述提交模块和所述作业单元连接。

可选地,为了实现对作业的查询,所述系统还包括用于解析所述输出UI描述文件模板并生成输出UI的输出UI解析呈现模块,与所述输出UI单元和所述参数采集模块连接。

可选地,为了对作业信息进行统计,所述系统还包括用于统计作业信息的统计管理模块,与数据库连接。

基于上述本发明所提供的一种为多网格应用提供统一界面的系统,在本发明所提供的一种为多网格应用提供统一界面的方法的优选实施例一中,参见图3,包括:解析输入UI描述文件模板,生成输入UI;根据所述输入UI采集到的作业参数,可选地,如果采集到上传文件,则将所述上传文件发送到文件传输协议(File Transfer Protocol,简称FTP)服务器,解析作业描述文件模板,生成作业描述文件;提交所述作业描述文件。

在实际应用中,通常将作业描述文件提交给节点服务器(NodeServer)。其中,节点服务器是网格服务的基本运行环境,对底层的异构资源进行服务化封装,为网格服务的运行提供基本支持,使得整个网格系统能够以服务为基础构件,并采用标准的通信协议完成系统组件间交互。调度器(Scheduler)负责将作业分配到计算节点去执行,它作为一个服务,运行在节点服务器中。

可选地,在依照输入UI输入作业参数之后,用户还可以选择调度策略,具体有随机调度、CPU能力优先调度、存储器(Memory)能力优先调度、最近调度和用户指定调度等策略,调度策略还可以默认设置,调度器根据选定/默认调度策略进行作业调度。

可选地,为了对作业信息进行存储和管理,所述提交所述作业描述文件之后还包括,获得作业ID,并将所述作业ID和所述作业参数发送给数据库。实际应用中,接收到作业描述文件后,如果调度成功,调度器将作业放入调度队列,此时作业状态为等待调度,返回作业ID作为作业的唯一标识,否则返回出错信息。所述系统接收到调度器返回的作业ID后,将所述作业ID和所述作业参数发送给数据库,数据库存储接收到的数据为作业查询和作业信息的管理和统计提供支持。

基于上述本发明所提供的一种为多网格应用提供统一界面的系统,在本发明所提供的一种为多网格应用提供统一界面的方法的优选实施例二中,参见图4,包括:根据作业ID向数据库查询获得作业信息;根据所述作业信息解析输入UI描述文件模板,生成输入UI,并且根据所述作业信息解析输出UI模板文件描述,生成输出UI。实际应用中,可以查询作业的概要信息和详细信息。作业概要信息包括作业名称、状态、提交时间、完成时间;作业详细信息包括作业ID、名称、所有者、所属应用名称、状态、提交时间、完成时间、调度单元、调度策略、执行节点、作业的输入UI和输出UI。只有作业顺利完成后,输出UI才会呈现,否则根据作业状态显示作业正在进行中或者出错等信息。

当查询到的作业状态为正在调度期间,还可以在所述系统取消作业。

可选地,为了对实现作业信息的实时更新,还可以根据接收到的作业状态信息更新所述作业信息。实际应用中,采用订阅通知机制来实现作业信息的时时反馈,具体为:所述系统调用调度器的订阅接口,所述订阅接口传递作业ID和作业信息反馈收集服务地址;作业运行过程中,作业状态每次发生改变时,即作业状态由等待调度变为正在调度、准备就绪、正在执行、顺利完成或发生错误时,调度器就会调用运行在节点服务器(订阅时指定统一资源地址)中的作业信息反馈收集服务。该作业信息反馈收集服务提供方法来更新数据库中的作业信息,包括作业状态、完成时间、调度单元和执行节点。这样就保证了作业状态每次发生改变时,都会来自调度器的通知,从而实现作业信息的时时更新。

通过上述优选实施例,使得能够在客户端可以进行作业的提交、查询和取消三种操作。作业提交,用来由用户明确作业执行参数和配置,最终生成JSDL描述文件,由调度器分配作业到某个计算节点去执行;作业查询,用来查看作业的基本信息和输入、输出UI;作业取消,用来取消已经提交的作业。

最后应说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管参照优选实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号