海量气候模式输出数据的分布式协同分析系统及方法_3

文档序号:8528195阅读:来源:国知局
cat具备,需要部署NCL脚本到指定目录,并将服务程序包部署到Tomcat下。接下来在指定的配置页面上进行配置和提交。
[0085]步骤2:设置分析脚本(如NCL脚本)的目录。
[0086]步骤3:设置接收数据库参数,自动化建库和建表。
[0087]步骤4:设置数据文件根目录,设置节点服务器的IP、端口和路径以及中心服务器的IP和端口信息。
[0088]步骤5:配置数据扫描服务,初始化扫描所有文件,更新入库,并设置定时扫描参数,在数据更新时及时更新本地数据库,并发出请求更新全局数据信息库。
[0089]获取候选项服务,此服务为Web前端服务设备载入页面提供用户可供选择的选项。当Web前端服务设备发出请求后,该服务会访问全局数据信息库,获取所有可选的属性项,通过API返回给Web前端服务设备。
[0090]查询数据集服务,当Web前端服务设备应用提交查询请求时,该服务将查询全局数据信息库,返回所有符合用户查询条件的数据集。事实上,每个数据集是一组时间连续的存储在同一文件夹下的小文件,而呈现给用户的则是数据集的名称和起止时间等信息。
[0091]3.Web前端服务设备提供的功能
[0092]Web前端程序部署于所述Web前端服务设备上,为最终用户提供交互接口。Web前端程序采用PHP语言编写,采用MVC框架yii。整个程序包含了站点,查询和用户三个控制器,站点控制器负责用户的注册登录和index页面,查询控制器负责用户检索数据并提交任务,其下又有表单载入,数据查询,数据选择,任务表单提交等几个act1n。用户控制器负责用户的任务列表查询和任务详情查看,任务结果查看与下载。Web前端程序可以部署在任意Web前端服务设备上,选择最合适的节点服务器进行连接并提供服务。
[0093]l)ffeb前端服务设备的配置与初始化
[0094]要求MySQL/PHP/Web服务器(如Apache等)具备。部署App到Web服务器(如Apache)下,首先通过配置页面接收数据库参数,自动化建表,之后设置默认连接的节点服务器的ID、IP、端口等信息,同时也需设置中心服务器的IP,端口等信息。程序执行时,首先初始化自身,然后初始化远程连接到设定的节点服务器,之后请求form数据并根据节点服务器返回的初始化候选项构造页面。
[0095]2)用户注册登陆服务
[0096]用户注册信息存储在Web前端服务设备的数据库中,用户可在页面上注册,注册后方可登录检索数据并提交分析任务,此外,还可查看自己提交的分析任务以及查看任务的详情。
[0097]3)数据检索
[0098]用户选择页面上的institude,model, experiment等参数后,提交表单发出数据检索请求,该请求传送到中心服务器,由中心服务器查询全局数据信息库通过API返回结果O
[0099]4)任务表单提交
[0100]用户可从查询到的数据集中选择一个或多个数据集,选择时触发选择的act1n,程序向节点服务器请求符合条件的分析功能列表。当用户选择某一分析功能时,程序向节点服务器发出请求,根据分析功能的XML描述信息更新参数输入表单的布局,用户填写好表单后,提交时程序会首先会根据选择的数据集的时间范围以及节点服务器中分析功能的XML描述对提交表单中各值得范围进行验证,验证通过即触发任务提交的act1n,否则返回页面。
[0101]5)查询任务列表及状态
[0102]用户的任务提交和任务执行时异步的,每个用户可以登录后看到自己提交的所有任务列表,任务列表查询界面可以查看所有任务的执行状态。用户进入该页面后,程序开始自动定时向节点服务器发出任务状态的请求,并在页面上通过异步刷新的方式对各个任务的状态进行实时更新。
[0103]6)查看任务详情及结果获取
[0104]用户从任务列表界面可点击进入某一任务的详情界面,由此触发任务查看的act1n,程序向节点服务器发出请求查询到任务的详细信息,包括选择的数据集,分析方法,时间范围,空间范围,已经所有子任务的执行进度的信息。程序在后台异步定时请求任务状态信息,当有任务状态更新为“完成”时,程序即可向节点服务器请求任务结果,节点服务器通过API返回结果文件URL或JSON格式的结果信息,Web前端服务设备应用图像或图表的形式在页面上将分析结果展现出来,并可提供相关数据文件格式的下载,如png,txt,nc等格式。
[0105]另一方面,如图2所示,本实施例还提供了一种海量气候模式输出数据的分布式协同分析方法,包括:
[0106]SI, Web前端服务设备根据用户输入的指令将任务信息提交到与所述Web前端服务设备连接的节点服务器上。
[0107]用户在选择数据集时动态向节点服务器发出请求,节点服务器端查询分析功能XML库,根据分析脚本的XML描述对数据集可用的分析功能进行筛选并在Web前端服务设备显示供用户选择并输入参数。用户在Web前端服务设备选定数据集并设置好分析参数后即可发出提交任务请求,提交后的任务信息存储到Web前端服务设备所连接节点服务器的任务库中。
[0108]S2,所述与所述Web前端服务设备连接的节点服务器将接收到的任务信息进行分解得到子任务信息,并将所述子任务信息分配给对应的节点服务器;
[0109]所述节点服务器根据所述任务信息中的各个数据集将对接收到的所述任务信息进行分解得到多个子任务信息;所述与所述Web前端服务设备连接的节点服务器查询所述中心服务器的全局数据信息库,得到每个子任务信息所对应的数据集所在的节点服务器,并将所述子任务信息分配给对应的所述节点服务器
[0110]S3,每一个节点服务器执行接收到的子任务得到分析结果;
[0111]S4, Web前端服务设备通过与该Web前端服务设备连接的节点服务器从各个节点服务器上获取数据分析结果。
[0112]进一步地,所述SI中Web前端服务设备根据用户输入的指令将任务信息提交到与所述Web前端服务设备连接的节点服务器上的步骤之前,还包括:
[0113]所述Web前端服务设备获取候选项,以及根据用户选取的候选项查询所述中心服务器的全局数据信息库获得数据集,并且根据所述数据集以及用户输入的指令生成任务信息,所述用户输入的指令包括用户选取的分析工具包信息和分析参数。
[0114]进一步地,所述S3中每一个节点服务器执行接收到的子任务得到分析结果的步骤,包括:每一个节点服务器通过调用预先存储的分析工具包执行接收到的子任务,得到分析结果。
[0115]任务的提交与分解过程和任务的执行过程是异步的。相应的节点服务器首先把这些子任务记录在它的子任务状态信息库中,形成子任务执行队列,由相应服务器进行调度,根据数据库中的状态信息择机执行尚未执行的子任务。执行任务时,各个子任务调用相应节点服务器上的分析脚本,同时不断更新数据库中子任务的状态信息和完成比例。在任务执行过程中,每个子任务的状态不断更新,由API传回Web前端服务设备,Web前端服务设备即可显示出任务的完成进度。
[0116]本实施例提供了调用NCL分析脚本的方法,并且能够增加调用其他工具的方法,同时提供执行任务的接口,每新增一个分析功能,只需要实现这个接口,重写执行任务的run O方法,通过几个简单的调用即可形成一个新的完整分析工具包,封装成一个java类,由最终用户从Web前端服务设备输入最终传入分析参数进行调用。某一节点服务器分析工具包更新后发出全局更新通知,所有节点服务器更新同步最新的分析工具包和功能描述XML 库。
[0117]进一步地,所述S4
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1