作者:朱金灿

来源:http://blog.csdn.net/clever101

再造一个PCI GXL?听起来是一件颇有难度的事,实际上并非不可能。本文拟从必要性、可行性和技术路线等方面谈谈再造PCI GXL的构想。

首先谈谈为何要再造一个PCI GXL。当初四维图新并购PCI失败,加拿大政府给出的理由是基于对国家安全保护的考虑,或许说明一点,一个国家的核心技术并不是靠钱就能买来的。其次是PCI GXL并非无懈可击,由于其在加拿大研发,所以授权都需要通过加拿大总部,部署不方便,操作上某些地方也不够人性化,在并行方面负载均衡机制也比较简单。另外PCI GXL缺乏数据管理方面的系统,还采用落后的网络共享盘的方式管理数据,听说近期准备发布一个Discovery的系统。

其次谈谈可行性。通过对其二次开发过程分析,我们知道PCI GXL的实现充分使用了开源技术,比如PostGIS、PostgreSQL和python等等,其服务端java web框架也很有可能是借鉴成熟的开源框架,比如hudson。因此其整体架构实现并不是最难的。那么最难的地方是什么呢?我想应该是那些遥感算法。

最后简单谈谈技术路线吧。服务端java web管理系统参考hudson的实现,脚本还用python,如果可能可以扩展支持javascript和lua,数据库管理方面还用PostGIS和PostgreSQL,后台是跨平台的控制台exe算法程序。大致想到的是这些。

PCI GXL学习之再造篇的更多相关文章

  1. PCI GXL学习之安装篇

    作者:朱金灿 来源:http://blog.csdn.net/clever101 上周简单学习了PCI gxl的使用和二次开发.说实话gxl没有我想象中那么自动化,我原以为把一个数据处理作业扔给gxl ...

  2. PCI GXL学习之二次开发篇

    作者:朱金灿 来源:http://blog.csdn.net/clever101 gxl的二次开发分初级和高级之分.初级是gxl提供了几百个模块供你编排成不同的作业.高级就是你可以编写你的算法模块,然 ...

  3. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  4. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  5. Python3学习(3)-高级篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 文件读写 源文件test.txt line1 line2 line3 读取文件内容 f = ope ...

  6. Python3学习(2)-中级篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 切片:取数组.元组中的部分元素 L=['Jack','Mick','Leon','Jane','A ...

  7. Python3学习(1)-基础篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 安装(MAC) 直接运行: brew install python3 输入:python3 --v ...

  8. ASP.NET MVC学习之过滤器篇(2)

    下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成 ...

  9. JMeter学习-016-思路篇之-山重水复柳暗花明

    首先,此文非技术类博文,为思路类的博文,敬请参阅,欢迎共同探讨! 今天在编写 JMeter 接口监控脚本时,遇到了一个问题,在解决问题的时候,思路出现了偏差,导致了自己在解决问题时,绕了弯,浪费了些时 ...

随机推荐

  1. js循环函数中的匿名函数和闭包问题(匿名函数要用循环中变量的问题)

    js循环函数中的匿名函数和闭包问题(匿名函数要用循环中变量的问题) 一.总结 需要好好看下面代码 本质是因为匿名函数用到了循环中的变量,而普通方式访问的话,匿名函数的访问在循环之后,所以得到的i是循环 ...

  2. MongoDbHelper 帮助类(下)

    对MongoDbHelper帮助类进行了一下整合,但是代码中一个方法需要将string类型转化为BsonValue类型一直出错.所以欢迎留言指正 using System; using System. ...

  3. Spring5源码深度解析(一)之理解Configuration注解

    代码地址:https://github.com/showkawa/spring-annotation/tree/master/src/main/java/com/brian 1.Spring体系结构 ...

  4. 自定义npm包——typeScript版本

    前言 这篇文章是在我之前的文章 [自定义npm包的创建.发布.更新和撤销] 的基础上做的扩展,主要是针对如何创建以及发布一个typeScript语言的npm包. 大纲 1.创建关于typeScript ...

  5. angular4开发过程中遇到的问题和知识点记录

    1. angular2中的属性有什么区别,为什么会报错呢? 元素上有两种属性:property和attribute,attribute是通过getAttribute()和setAttribute()方 ...

  6. 通过 Microsoft iSCSI Software Target 提供存储服务

    软件下载地址: Microsoft iSCSI Software Target 3.3 下载完后成解压软件包如下: 安装官方的描述Target 端也就是服务端 只支持Windows Server 20 ...

  7. u3d demo起步第二章

    假设要给一个角色加入寻路组件.那么仅仅须要选中这个角色,Component->Navigation->Nav Mesh Agent就能够加入寻路组件. 然后仅仅要agent.SetDest ...

  8. android5.0 BLE 蓝牙4.0+浅析demo搜索(一)

    作者:Bgwan链接:https://zhuanlan.zhihu.com/p/23341414来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Bgwan 莳萝花 ...

  9. 自定义 matplotlib 设置

    Customizing plots with style sheets import matplotlib as mpl 查看配置文件所在的目录:mpl.get_configdir() 1. 自定义 ...

  10. Javascript学习之Window

    1.confirm:确认对话框. window.confirm("确定要删除吗?");//返回true或false if(window.confirm(“确定要删除吗?”)) { ...