zoukankan      html  css  js  c++  java
  • spring Integration服务总线

    最新项目中使用数据交换平台,主要通过交换平台抓取HIS数据库医生医嘱检查检验等数据以及FTP上的txt文件,html等病程文件,生成XML文件,之后通过业务系统按业务规则对数据进行处理,再将其存入数据库。

    =========================================================

    数据流:

      这种开发就像是接管道一样,感觉就是管道的个人,只要了解数据的流向,自己可以进行管道的套接,进行数据的处理

      而对于流程本质也就是管道的接入,这就是XML的开发模式

    =========================================================

    ================================================================================================

    对于现在的场景,文件大不是很多,以后如果病历文件许多的话,进行集群,那么可以采取分布式计算构建,比如Hadoop构建数据平台,仅仅是一个想法,目前不适用。

    ================================================================================================

    具体说一下:交换平台主要分为导出xml文件,导入XML文件,在导入时进行规则校验。网站通过发送消息到JMS,交换平台连接JMS,启动交换平台,交换平台连接HIS于系统的数据库,通过Spring Integration进行操作。

    类似开源的有mule等,大家如果对ESB,ETL有兴趣,可以找些资料看看,以上只是项目的一个例子,主要是ETL

    管道串联,流水线处理。

    各人觉得这些就是多线程和队列使用解决多线程处理的一种机制。---管道大家应该比较好理解,管道有双向的或者单向的(双工或者单工通信)

    这里业务流程复杂的话,采用BPM+Drools组成流程,之后作为一个组件挂接在Spring Intergation总线(组件接口点)上面

    ================================================================================

    网络传输:

    TCP网络建立连接:

    1.建立心跳线程检测网络的连接状况

    2.服务端建立接受线程,接受来自客户端的数据(保证接受完毕),发送成功标准,负责断电续传。这个过程必须记录失败的编号

    ===================================================================================

    下面介绍一种实时处理数据的系统-Storm,也就是CEP(复杂的事件处理),目前认为思想和Spring Intergartion思想有点相似。

    无意间看见这东西,主要是设计实时性要求,个人目前的开发,基本对实时性要求不是很高,涉及东西不是太多,闲来无事,了解一下,目前个人暂时使用不到,借鉴一下其设计思想,以后在工作中使用,提高编程水平。下面的图个人感觉很容易懂,编程就是模拟现实世界,周围都是很好的例子,比如下面的图就很形象,图来自网络。

    原理图:

    Spark就是DAG的一种思想,流程有向图+Job多线程机制

  • 相关阅读:
    JavaScript的运动框架学习总结
    Canvas设置width与height 的问题!
    JavaScript 学习—— js获取行间样式和非行间样式
    Css 学习——left与offsetLeft的区别
    BaseServlet
    Java集合 Json集合之间的转换
    Java对象 json之间的转换(json-lib)
    mybatis hellworld
    XStream的例子
    c语言之“/”和“%”运算符
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/3381697.html
Copyright © 2011-2022 走看看