一种业务流程可灵活扩展的高性能地理信息处理方法及系统与流程

文档序号:12462944阅读:380来源:国知局
一种业务流程可灵活扩展的高性能地理信息处理方法及系统与流程

本发明涉及高性能地理信息处理技术领域,具体来说涉及一种业务流程可灵活扩展的高性能地理信息处理方法及系统。



背景技术:

随着空间应用的驱动,地理空间数据采集技术、计算机技术、遥感技术、全球定位系统技术、移动计算技术和互联网技术的飞速发展,GIS(地理信息系统)研究范围越来越广,其应用范围也不断扩大,GIS处理的数据规模也随之变大,并且数据结构也越来越复杂。近年来,GIS呈现多学科交叉、处理算法越来越复杂的局面。一方面,GIS对传统行业进行不断的改造,另一方面,GIS与其它信息技术的融合,提升了GIS的功能,也深化了其它信息技术的应用。

随着GIS处理数据的海量化,空间分析算法的复杂化,处理要求的实时化,应用范围的社会化,使得地理信息处理过程中,整个处理过程复杂、耗时。从获取数据,到最终提取出满足应用领域需求的信息,往往需要进行多个步骤的处理,有时还要涉及到其它信息的融合。

传统地理信息处理方法是人工完成或衔接各个步骤,严重影响了地理信息实时/近实时的应用。同时,人力资源和软件资源也存在直接和间接的浪费现象。虽然整个应用的某些步骤可以借助GIS专业软件来完成,但由于GIS专业软件功能固定,除了需要花时间了解软件功能、学习专门的使用技术来完成这些步骤外还必须开发自己的业余功能处理软件,带来了很多不便。而在多个完整的业务处理流程中,有些步骤的处理是相同的,开发自己的业余功能处理软件势必造成遥感算法和软件的浪费。而且在GIS传统软件中,很多参数需要人工交互才能获取,开发这些人工交互功能,也是一个很大的工作量。传统GIS由于自身体系结构及算法的限制,已不能满足行业应用需求,如何快速进行空间数据处理与分析,进而完成大规模的复杂地理应用,是地理信息系统进一步发展面临的一个重要问题。

随着空间数据量的不断积累,GIS在各个行业领域中的应用也日益广泛以及人们对地理数据应用的深度和广度不断提出新的要求,地理信息处理系统在灵活的重构特性和多种业务处理能力方面面临新的挑战与需求,人们希望在地理信息处理系统中尽可能多、尽可能简单地完成自己的处理需求。如何在功能等扩展方面满足地理信息处理的要求是一个需要迫切解决的问题,有必要提供一种在业务流程方面可灵活扩展的高性能地理信息处理方法。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的上述技术问题,本发明提出一种业务流程可灵活扩展的高性能地理信息处理系统及方法,能够解决地理信息处理中如何快速扩展GIS算法、业务流程缺乏灵活性等技术问题。

为实现上述技术目的,本发明的技术方案是这样实现的:

一种业务流程可灵活扩展的高性能地理信息处理方法,包括以下步骤:

地理信息业务流程建模:将业务流程中的算法进行解析,将业务流程进行描述;

地理信息业务流程按需界面生成:将业务流程中的参数进行输入并将订单进行提交;

地理信息业务流程执行:处理业务流程执行时的前后依赖关系;

地理信息业务流程任务调度:处理业务流程中的并行执行关系。

进一步的,所述地理信息业务流程建模步骤包括:

算法开发和封装:用户按照指定接口规范的参数文件开发算法程序,算法参数包括公有参数和私有参数,公有参数是指算法处理的输入和输出数据描述,私有参数是指算法的各种处理参数甚至参数文件,对于已有的算法模块,通过封装的形式,使之符合输入参数的约定;

算法注册:算法程序可视化注册时,需指定算法程序路径、名称、私有参数以及私有参数的获取方式,包括手工填写、从界面获取,不需要填写公共参数,但要对私有参数的约束进行详细描述。对于已经注册的算法程序,存储其描述信息为XML字符串;

流程组合:用户通过人工交互界面从算法库中选择算法程序组合为业务功能,在流程组合中,首先要进行匹配判断,即判断有先后关系的两个算法模块的输入与输出是否相符,只有上一模块的输出满足下一模块的输入,才能进行流程组合。

参数界面生成:用户选择处理任务,处理平台根据算法注册时的参数设置,动态生成参数界面,其中算法注册时的私有参数约束会在界面上有所体现,不同的约束形式会生成不同的界面元素;

任务单提交:客户端根据用户设定的参数界面,生成任务单,提交平台服务端执行。

进一步的,在所述地理信息业务流程按需界面生成步骤包括:

用户选择处理任务;

客户端根据业务流程详细文件,解析各功能模块信息;

动态生成各个控件,并建立业务流程参数与控件的映射关系。

进一步的,在所述地理信息业务流程执行步骤包括:

地理信息业务流程执行引擎接收地理信息业务流程任务单;

依据流程定义解析任务单,成为能够独立调度的任务步骤;

参考流程调度策略将任务提交到任务调度引擎中执行;

实时跟踪系统业务流程的工作状态,保证流程执行的准确性。

进一步的,所述地理信息作业调度步骤包括:

将流程驱动软件的任务调度指令转换为调度服务器能够调度的任务脚本;

接收外部调度脚本,并依据调度策略管理组件分配的资源提交任务;

调度策略管理组件管理系统的可用资源和任务调度资源分配策略;

启动任务并跟踪任务的资源使用状况,报告到调度服务器中,以跟踪系统内的资源使用状况。

本发明还提供一种业务流程可灵活扩展的高性能地理信息处理系统,包括:

地理信息业务流程建模模块,用于地理信息业务流程建模,处理业务流程中算法解析,业务流程的描述;

按需界面生成模块,用于地理信息业务流程截面的生成,处理业务流程中的参数输入与订单提交;

流程执行引擎,用于地理信息业务流程的执行,处理业务流程执行时的前后依赖关系;

任务调度引擎,用于地理信息业务流程的任务调度,处理业务流程中的并行执行关系。

进一步的,所述地理信息业务流程建模模块包括:

功能算法库模块,用于算法开发和封装,用户按照指定接口规范的参数文件开发算法程序,算法参数包括公有参数和私有参数。公有参数是指算法处理的输入和输出数据描述,私有参数是指算法的各种处理参数甚至参数文件,对于已有的算法模块,通过封装的形式,使之符合输入参数的约定;

算法注册模块,用于算法注册,算法程序可视化注册时,需指定算法程序路径、名称、私有参数以及私有参数的获取方式,包括手工填写、从界面获取,不需要填写公共参数,但要对私有参数的约束进行详细描述。对于已经注册的算法程序,存储其描述信息为XML字符串;

流程组合模块,用于流程组合,用户通过人工交互界面从算法库中选择算法程序组合为业务功能,在流程组合中,首先要进行匹配判断,即判断有先后关系的两个算法模块的输入与输出是否相符,只有上一模块的输出满足下一模块的输入,才能进行流程组合。

参数界面生成模块,用于参数界面生成,用户选择处理任务,处理平台根据算法注册时的参数设置,动态生成参数界面,其中算法注册时的私有参数约束会在界面上有所体现,不同的约束形式会生成不同的界面元素;

任务单提交模块,用于任务单提交:客户端根据用户设定的参数界面,生成任务单,提交平台服务端执行。

进一步的,所述按需界面生成模块包括:

选择模块,用于从业务流程任务单中选择处理任务;

解析模块,客户端根据业务流程详细文件,解析各功能模块信息;

生成及映射模块,动态生成各个控件,并建立业务流程参数与控件的映射关系。

进一步的,所述流程执行引擎包括:

流程驱动接口,用于接收业务流程任务单和任务完成通知;

消息解析组件,用于将流程任务单解析为流程驱动所需的参数;

流程驱动引擎,用于分解流程步骤为可执行任务,供作业调度引擎执行;

流程跟踪组件,用于实时跟踪系统中成百上千个并发业务流程的工作状态,保证流程执行的准确性。

进一步的,所述任务调度引擎包括:

任务调度适配器,用于将流程驱动软件的任务调度指令转换为调度服务器能够调度的任务脚本;

调度服务器,用于接收外部调度脚本,并依据调度策略管理组件分配的资源提交任务;

调度策略管理组件,用于调度策略管理组件管理系统的可用资源和任务调度资源分配策略;

调度执行组件,用于启动任务,并跟踪任务的资源使用状况,报告到调度服务器中,以跟踪系统内的资源使用状况。

本发明的有益效果:用户可以在不改变高性能GIS平台本身的情况下,只要按照指定的规范开发自己的算法程序并进行算法注册和组合,就可以增加新的GIS算法,组合各种行业应用,使用户可随意定制业务功能,满足用户多种定制的GIS行业处理需求,实现高性能GIS平台中业务流程和算法层次的灵活扩展。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例所述的GIS业务流程可灵活扩展模型运行机制图;

图2是本发明实施例所述的地理信息业务流程建模技术流程图;

图3是本发明实施例所述的地理信息业务流程按需界面生成流程图;

图4是本发明实施例所述的地理信息业务流程执行引擎工作流程图;

图5是本发明实施例所述的地理信息作业调度引擎逻辑结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,该图为本发明实施例中GIS业务流程可灵活扩展的运行机制图,本发明实施例所述的一种业务流程可灵活扩展的高性能地理信息处理方法包括以下步骤:

1、地理信息业务流程建模

如图2所示,地理信息业务流程建模包括算法开发或封装、算法注册、功能组合、参数界面生成和订单提交五个步骤,用户可以任意开发自己的算法模块,但接口参数必须为一下制定规范的XML文件。

对于已有的算法模块,可以通过封装的形式,使之符合输入参数的约定。算法程序开发完毕后,用户在业务流程系统中指定算法模块路径、名称、算法描述信息、所需私有参数等进行算法程序的可视化注册。注册算法则以XML串的形式把该算法模块的描述信息存放于数据库中。同时,注册模块时并不需要填写输入输出信息,这些由业务流程系统解析时自动完成,用户只需填写所需的数据个数,大部分算法模块只需要一个输入数据。

用户通过人工交互界面从算法库中选择算法程序,通过拖拽等形式组合为业务功能。在流程组合中,首先要进行匹配判断,即判断有先后关系的两个算法模块的输入与输出是否相符。只有上一模块的输出满足下一模块的输入,才能进行流程组合。本发明以图形化方式直观清晰的展示工作流配置过程和任务执行状态,满足可视化的人工交互需求。用户根据需求将各模块按一定顺序拖入画布,系统自动将模块组合成工作流,用户也可通过模块间拖拽修改模块执行顺序,从而完成工作流配置的人工交互过程。

用户指定业务功能,根据动态生成的参数界面选择待处理数据,填写参数后提交数据处理任务到GIS平台服务端,该模块解释处理任务为工作流,把任务分解成阶段性任务,调用应用算法扩展层相应的算法模块执行,直到完成任务单规定的任务。

2、地理信息业务流程按需界面生成

用户选择处理任务,客户端根据业务流程详细文件,解析各功能模块信息,动态生成各个控件,并建立业务流程参数与控件的映射关系。

如图3所示,用户选择业务流程,从Web Service接口中获取工作流详细信息;

用户通过Web Service接口向服务端申请一个订单流水号;

解析工作流信息,按照工作流信息、数据信息、模块信息的顺序建立分组,生成group控件;

对于工作流描述信息,针对流程名称、订单号、优先级等生成Label、Text、Combox等控件,其中Label为描述内容,Text控件等待用户输入;

工作流中的数据可能为多个,对于每个数据,都生成Label,Text、button控件。其中Button控件为两个,一是从当前打开的数据浏览窗口获取,二是从服务端选择数据;

模块一般也为多个,对于每个模块,获取其参数名称和类型,生成Label,Text,Combox和Button等控件。其中Combox表示参数值为有限个;而Button表示该参数的值需要从数据浏览窗口通过交互窗口获取。

对于每一个控件,都需要计算其相对位置,然后绘制到对话框中,形成参数提交界面。

3、地理信息业务流程执行

(1)流程驱动接口接收业务流程任务单和任务完成通知;

流程驱动接口采用Web Service协议,实现业务流程任务单和任务完成通知的接收功能,并对外提供流程的暂停、重启和退出等流程管理接口。流程驱动接口只提供缓存负责接收消息,并通知消息解译组件进行处理,保证了在最大程度上接受外部消息,并快速响应。

(2)消息解析组件将流程任务单解析为流程驱动所需的参数;

消息解译组件负责解析流程驱动接口接收到的消息,完成业务流程任务单和任务完成通知相关参数的解析入库,判定是否触发后续流程等操作,隔离了任务单对流程引擎的直接影响,保证了流程引擎的稳定运行。

(3)流程驱动引擎分解流程步骤为可执行任务,供作业调度引擎执行;

流程驱动引擎采用工作流机制,通过加载标准化流程定义实现多样化的业务流程驱动能力。此外,在流程执行过程中,能够响应外部管理指令的要求,实现流程的暂停、重启和退出。

(4)流程跟踪组件能够实时跟踪系统中并发业务流程的工作状态,保证流程执行的准确性。

如图4所示,业务流程执行引擎为高性能GIS系统的核心组件,必须保证流程驱动功能的可靠、有效,流程跟踪部件同流程驱动引擎紧密结合,实现每个流程的状态跟踪,保证流程的正确执行。流程跟踪组件用于在流程和任务发起、执行和结束等每个状态的改变时,实时捕获当前流程的状态,更新到数据库中。

4、地理信息业务调度执行

作业调度引擎管理系统中的所有计算资源,根据任务注册的资源需求信息和可配置的调度策略,统筹分配计算资源,实现资源的优化使用和任务的可靠调度。大规模业务流程调度引擎构是以torquePBS作业调度软件为基础封装而成。

如图5所示,作业调度引擎工作过程为:

任务调度适配器采用SOA结构进行组织,作为流程驱动软件的任务调度指令和调度服务器启动脚本之间的协议转换桥梁,用于获取流程驱动软件的任务单,捕获业务执行的进度和状态信息,将任务执行的完成通知反馈到流程驱动软件中。

调度服务器负责接收外部调度脚本,并依据调度策略管理组件分配的资源提交任务,将任务调度到合适的计算节点上。同时,支持修改任务、删除任务和保护待执行任务调度免遭系统崩溃的影响。任务调度服务器同各计算节点保持通信,实现调度任务的可控执行。

调度策略管理组件管理系统的可用资源和任务调度资源分配策略。通过配置适于任务的调度策略,能够实现系统资源的优化使用、高使用率节点的负载均衡、特殊任务所需资源的预留和关键任务的优先执行等资源调度方案。

调度执行组件用于执行任务和监控任务执行状态。调度执行组件将可执行任务取出,按照脚本执行任务,同时将任务放入执行队列,监控任务的执行过程和资源消耗情况。等待任务执行完成后将任务放入完成队列,将任务的输出放置到服务的指定目录下。

综上所述,本发明所述的一种业务流程可灵活扩展的高性能地理信息处理系统及方法,规定了算法程序的算法程序的接口规范、注册规范和业务功能注册方式,在GIS平台中采取了工作流的方式对业务流程进行解析和调度,集成了常用的人工交互获取处理参数的功能。用户只需专注基础算法的研究,按照指定的规范开发算法程序,而无需开发常用的人工交互界面,也无需考虑行业应用时的业务流程,大大节约了开发时间和难度。用户在不修改系统本身的情况下,只需通过简单的拖拽操作进行算法间的流程组合,就可以扩展新的业务功能。业务流程可灵活扩展的高性能GIS体系结构,将GIS平台软件和业务应用结合起来,降低了业务系统的开发难度,在系统架构层次解决了高性能GIS中行业应用扩展困难的问题。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1