`
weitao1026
  • 浏览: 1058165 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

数据总线技术框架说明

 
阅读更多

 

1 描述以及约定

1.1 约定

1.1.1 应用,在本文中的应用是指一个application,他可以是一个windows 应用程序,也可以是一个web 站点,也可以是一个移动终端应用程序。

1.1.2 ws服务,在文本中是指Web Services服务

1.1.3 CXF类库,是指Apache CXF Services Framework http://cxf.apache.org/

1.2 问题的提出

现在的企业中存在各种应用(系统)和各种数据存储需求,但是各个应用之间的数据不能实现可控的数据共享,而且各个应用之间由于涉及到开发技术以及和环境的限制也为企业的数据共享设置了障碍,这种现状阻碍了企业各个应用之间和数据交换和共享,也阻碍了企业对数据可控,数据管理,数据安全方面的需求,那么我们就需要有一种具有无关平台,无关应用,无关空间逻辑的一种数据集成和分配的系统,来管理企业现有的数据调用-数据总线

1.3 数据总线定义

数据总线(DataBus)是集成各个原始数据库并对外提供一种有规则的,可控的数据链接存储服务

1.4 实现目标

1.4.1 集成原始数据库,能够对现有的数据库进行添加,删除操作

1.4.2 对外进行数据存储服务功能,能够对外部数据存储服务,包括数据查询,数据删除,数据修改,数据存储过程以及函数的执行

1.4.3 对应用来源(访问者)进行管理,能够对应用来源进行添加,启用,停用,授权,更改授权,删除等操作

1.4.4 能够新增,删除,修改API函数,能新增,修改,删除,启用,停用API函数,以实现对外部调用的响应的逻辑控制,这些API的类型包括数据库的查询,修改,删除,存储过程以及函数执行等数据库操作

1.4.5 对访问者的操作可控,能够对访问者的进行权限控制,包括查询,修改,删除操作的库范围,表范围,行范围,列范围的的执行权限,以及对访问的操作的时间进行控制,如可以对来源为新企的应用定义为只能在数据库A的ta,tb表进行全时段的访问,而对于表tc,td可以在12:00到18:00进行修改和删除操作

1.4.6 对访问记录可查询,可监控,能够对各个访问者的操作记录进行历史查询,和实时的监控访问者的操作

1.4.7 连接安全措施,能有有效的加密连接,保证即使网络被监听情况也能保证数据的安全性,完整性,可校验性

1.4.8 跨平台,跨语言,跨空间特性,能有效的支持任何平台和任何语言的远程调用

1.4.9 数据安全隔离,能够有效的隔离访问者对数据的直接操作,保证数据的安全性

2 技术框架

2.1 总线程序物理层级架构

clip_image004

2.2 总线程序物理拓扑结构

clip_image006

2.3 总线程序架构逻辑模块层级视图

clip_image008

2.4 总线程序架构数据流逻辑视图

clip_image010

3 程序模块说明

3.1 模块图示

clip_image012

3.2 服务宿主API

3.2.1 公共查询模块

3.2.1.1 描述,公共查询模块,负责查询现有API实例,包括状态,函数参数说明,示例代码,服务控制人,调用方等信息

3.2.1.2 实现逻辑,主要根据系统中的API对外提供查询服务,让调用方能够得到技术支持

3.2.2 API实例管理模块

3.2.2.1 描述,API实例管理模块,负责管理API实例的发布,启用状态,访问信息,访问权限控制,状态查询等

3.2.2.2 实现逻辑,通过API实例管理模块实现API实例的维护,控制等,能有让管理员控制API实例

3.2.3 API接口及类生成模块

3.2.3.1 描述,API接口及类生成模块,能够根据管理模块的指令生成API发布所需的接口和类的Java代码

3.2.3.2 实现逻辑,根据程序的接口定义以及通用类来实现,自动生成可编译的Java代码

3.2.4 Java及时编译模块

3.2.4.1 描述,Java及时编译模块,能够根据指定的Java文件和构建路径,编译Java代码为Class或是Object

3.2.4.2 实现逻辑,使用jdk提供的JavaCompiler,采用重写SimpleJavaFileObject,ForwardingJavaFileManager,URLClassLoade的方式自定义编译java代码为Class,使用DynamicClassLoader实现动态实例对象

3.2.5 API函数构造模块

3.2.5.1 描述,API函数构造模块,能够实现API函数的构造和发布功能,可将构造的API函数发送的API宿主模块

3.2.5.2 实现逻辑,使用CXF类库提供的ServerFactoryBean构造服务元,并在构造过程中添加拦截器回调和访问逻辑,以实现安全功能

3.2.6 API对外服务宿主模块

3.2.6.1 描述,API对外服务宿主模块,能提供webServices服务让外部从指定的入口点进行访问,从而提供服务

3.2.6.2 实现逻辑,通过构建模块构建ServerFactoryBean,使用Create产生Server,配置按照构建模块的定义配置Endpoint,实现ws服务来提供外部访问

3.2.7 访问及安全控制模块

3.2.7.1 描述,访问及安全控制模块为API宿主模块的回调,它按照安全连接的规则定义,进行安全认证,可实现x509证书,UserToken,自定义密匙的方式的认证

3.2.7.2 实现逻辑,按照API宿主模块定义的Endpoint的InInterceptor,OutInterceptor的回调,来实现输出和输入的认证和处理

3.2.7.3 图示
clip_image014

3.3 规则逻辑层

3.3.1 逻辑控制管理模块

3.3.1.1 描述,此模块能够维护逻辑规则,添加,删除,启用,停用逻辑规则层,以及获取逻辑规则宿主的运作状态实时信息和日志

3.3.1.2 实现逻辑,通过配置逻辑规则宿主的入口和各个逻辑规则层实现逻辑规则的控制,通过调用状态监控模块实现状态和日志的读取

3.3.2 逻辑规则生成模块

3.3.2.1 描述,能够响应逻辑控制模块的调用,生成逻辑规则控制模块的指定的控制规则,并添加的逻辑控制宿主,实现逻辑规则的添加

3.3.2.2 实现逻辑,根据程序定义的接口和通用类生成规则类的实例,并添加到逻辑控制宿主

3.3.3 逻辑规则控制宿主模块

3.3.3.1 描述,此模块能提供唯一入口点,供外部调用,并通过工厂反射的模式,松耦合的形式调用顺序的调用逻辑规则层,每一个逻辑规则层会按照程序定义接口进行执行并返回

3.3.3.2 实现逻辑,通过唯一的入口点调用实现集成控制,并在入口点执行环境通过ClassLoader来实例规则层并且调用来实现规则的控制

3.3.4 逻辑规则状态监控模块

3.3.4.1 描述,此模块通过逻辑规则控制宿主模块入口的回调来实现状态的读取,并记录日志信息,以实现所有操作的可回溯

3.3.4.2 实现逻辑,此模块定义唯一无阻拦式回调函数,供宿主模块入口点回调,通过函数的回调信息,获取当前状态并记录和处理

3.4 数据连接管理模块

3.4.1 数据连接管理模块

3.4.1.1 描述,此模块能够管理数据数据库实例的挂载和卸载,数据库驱动的添加,并调用数据连接模块实现数据库操作的挂起

3.4.1.2 实现逻辑,通过配置指定的数据库实例信息和开关,以供连接模块的调用,来实现连接数据库的控制

3.4.2 数据连接模块

3.4.2.1 描述,此模块指定唯一的入口点供调用来实现数据库的操作

3.4.2.2 实现逻辑,通过管理模块配置信息和入口调用信息,来判断数据库的连接类型并动态载入连接驱动,通过驱动模块操作数据库

3.5 客户端连接

3.5.1 连接方式,客户端通过soap协议,调用API实现数据库的访问

3.5.2 访问安全,客户端通过私匙(或证书)加密,IP,MAC,密码信息到服务端,服务端认证后提供服务,客户端接受传入连接需要验证通过客户端私匙加密服务端的IP,MAC,密码信息,这样就是实现了传入和传出安全验证

3.5.3 通过平台化,客户端提供各种语言(。Net,java,VC)的帮助类库,辅助客户端完成访问,客户端可以完全不关心实现逻辑(当然客户也可以自定义访问,以为soap协议是通用的)

4 大致技术细节定义和约定

4.1 接口约定

4.1.1.1 clip_image016

4.1.1.2 实现方式,通过API函数的参数实现传入参数的指定,当执行结果为数据集的时候返回DataTableResult,当执行单值返回结果是返回SingleResult,当执行无返回结果是返回VoidResult

4.1.2 传入参数控制,每个函数的传入参数必须的原子数据类型,int,string等

4.1.3 大数据量性能控制,系统单次最大返回的数据元素数量为5000行*500列,以避免程序形成资源锁

4.1.4 异常控制,在系统中会使用外围异常控制,所以不会导致程序崩溃,程序会打印所有异常信息到异常信息记录中,以被查阅和调试

4.1.5 系统稳定性,需测试最高压力为企业实际业务数据量的3-5倍数据请求压力验证

4.2 可扩展性约定

4.2.1 能够在不更改系统逻辑框架的范围内,进行后期开发,并为后期开发预留可扩展接口和模块

5 总结

5.1 数据总线系统能有效的解决企业数据管理松散,数据共享,数据安全,系统整合,跨平台及跨语言应用等方面带来的数据库访问,以及数据安全的问题

5.2 数据总线可以看做所有数据库的代理服务器,导致企业的IT应用都是通过数据总线进行数据库操作,所以会降低企业IT应用的性能上限,同时也有可能导致由于总线服务器出错,导致所有IT应用都无法访问的的风险

6 参考

6.1 《Java软件开发》(美)Sartaj Sahni,Raj Kumar 中国水利水电出版社

6.2 《Java高级编程:JDK5》(美)理查德森 等著,沈文炎 机械工业出版社

6.3 Apache CXF http://cxf.apache.org/

6.4 WSS4J http://baike.baidu.com/view/3184209.htm http://ws.apache.org/wss4j/

 

/Files/Rolends/数据总线文档.doc

分享到:
评论

相关推荐

    企业数据总线技术架构说明.doc

    "企业数据总线技术架构说明" 数据总线技术架构是企业数据集成和共享的关键技术之一,它提供了一个统一的数据交换和共享平台,实现了企业内部各个系统和应用之间的数据集成和共享。下面是数据总线技术架构的详细说明...

    企业数据总线技术架构说明借鉴.pdf

    数据总线技术架构是一种在企业信息系统中整合和传递数据的关键技术,它允许不同的应用系统之间高效、可靠地交换数据。这种技术通常用于构建大型分布式系统,尤其是那些需要实时或近实时数据同步的环境。以下是对该...

    LIN-Spec_2-2A_lin_LIN总线_汽车LIN总线_

    LIN总线规范2.2A是该技术的一个关键版本,为理解和实施LIN网络提供了详细指导。** **LIN总线的核心概念:** 1. **主节点与从节点**:LIN网络中有一个主节点(Master Node),负责控制网络的时序和通信,而其他节点...

    基于FPGA和ARM的现场总线设备.pdf

    以上知识点涵盖了从现场总线技术的发展与挑战,到基于FPGA和ARM设计框架的提出,再到具体的功能分类和实验验证,体现了在工业自动化领域中嵌入式系统设计的复杂性和创新性。通过该文献的解读,可以为现场总线设备的...

    Lin总线协议2.1

    LIN2.1的文档结构按照章节划分,涵盖广泛的主题,包括协议规范、信号管理、帧传输、框架结构以及对LIN1.3、LIN2.0之间变更点的详细说明。文档还包含了一个名词术语表(Glossary),为读者提供准确的技术词汇和定义。...

    基于CAN总线的智能照明系统的设计和实现

    在软件设计中利用模块化编程思想首先讨论了控制器实现控制功能的程序设计及控制器与物理总线通信功能的程序设计,并给出设计流程图,最后对通信的实现部分包括对信息的发送和接收做了详细的说明。 实验测试结果表明,...

    一款Android平台的LivaData的消息总线框架

    作者codyer,源码ElegantBus,ElegantBus 是一款 Android 平台,基于 LivaData 的消息总线框架,这是一款非常 优雅 的消息总线框架。如果对 ElegantBus 的实现过程,以及考虑点感兴趣的可以看看前几节自吹如果只是...

    30种java技术框架-方案架构图汇总.zip

    以上30种Java技术框架涵盖了Web开发、持久层、测试、分布式系统、消息队列、大数据处理等多个领域,每个框架都有其独特的优势和适用场景。通过理解这些框架,开发者能够更好地选择和利用适合的工具来提升项目效率和...

    应急管理数据治理.pdf

    服务总线技术要求,确保数据传输的高效和安全;以及数据运维的技术要求,保障数据系统的稳定运行。 3. **数据接入**与**数据读取**:这部分规范了数据的获取和处理方式。数据接入不仅要求功能完善,能够从不同来源...

    分布式现场总线在散料输送控制系统的应用.pdf

    在参考文献部分,文中引用了相关文献,说明了现场总线技术在类似散料输送控制系统中的应用背景及研究进展,为本文的研究提供了理论支持和技术参考。这些文献的研究成果与本文的分析相结合,共同构建了一个完整的散料...

    汽车CAN总线监视器windows应用软件研发概要设计说明.doc

    开发者需要理解CAN监视器的特殊寄存器设定值计算,以及CAN信息的解析和图形化显示,同时运用C#和.NET框架以及XML技术进行编程。 在总体设计部分,系统的主要功能被定义为发送和接收信息,以及状态设置。通过活动图...

    数据仓库建模指南.pdf

    7. **总线架构**:这种架构提供了一个框架,使分布式数据仓库系统中的各个部分能够共享一致的维度。 8. **元数据**:元数据是关于数据仓库的数据,包括数据的来源、含义、处理方式等信息,对于理解和管理数据仓库至...

    can总线,查看器有源码位于github

    Cangaroo作为一个开源项目,不仅提供了一种实用的CAN总线分析工具,也为开发者提供了学习和实践CAN总线技术的机会。通过深入研究Cangaroo的源码,你可以提升自己在嵌入式系统、通信协议和GUI编程方面的能力。

    AEDK实验仪的ISA总线配置方式下 实现的接口技术与编程环境

    程序结构遵循典型的段定义格式,包括数据段(DATASEGMENT)和代码段(CODESEGMENT),这是编写和组织汇编语言程序的标准框架。源程序的生成步骤依次为编辑、汇编、链接和调试,每一步都有其特定的工具和命令,如EDIT...

    迪文FSK总线摄像头开发资料

    本资源中的开发文档可能涵盖了上述所有技术点的详细说明,包括硬件接口、通信协议、软件框架、调试方法等,是开发者快速上手和解决问题的重要参考资料。 通过学习和实践这些资料,开发者可以构建一个高性能、可...

    基于公共数据结构的EDA仿真波形分析技术

    为了更具体地说明自动波形分析技术的应用,这里以信号完整性互连问题中的反射问题为例进行说明。在信号完整性分析中,反射问题是非常常见且需要仔细研究的问题之一。设计师通常会关注以下几个关键指标: - 正负噪声...

    数据仓库建设方案详细.docx

    ### 数据仓库建设方案详解 #### 一、概述 随着信息技术的发展和企业对数据价值的...综上所述,本文档详细介绍了数据仓库建设方案中的关键技术和架构设计思路,为构建高效、可靠的数据仓库提供了理论基础和技术指南。

    行业分类-设备装置-一种基于PXI的串行总线健康监测平台.zip

    1. **串行总线技术**:串行总线如SPI、I2C、CAN、UART等,它们在现代电子设备中广泛用于器件间的通信。该文档可能详细介绍了选择和使用某种特定串行总线的原因和优势。 2. **PXI系统架构**:可能涉及PXI系统的硬件...

    松下A6BE-BF-EtherCAT 通信规格

    在该框架下,主站控制信息帧在网络中传输,经过每个从站节点时,各个从站将对应的输入数据写入帧内,并从帧中读取输出数据,不需要额外的数据副本,大大提高了通信效率。 EtherCAT协议中,通信条件是规定通信能否...

    CANopen总线简介

    CANopen作为一种广泛应用的现场总线技术,为工业自动化系统提供了一种高效、可靠的通信解决方案。通过对对象字典、通信机制、标识符分配等方面的深入理解,可以更好地利用CANopen来构建复杂的工业控制系统。随着工业...

Global site tag (gtag.js) - Google Analytics