一种基于接口的数据通信方法与流程

文档序号:11154668 阅读:468 来源:国知局
一种基于接口的数据通信方法与制造工艺

技术领域

本发明涉及数据通信技术领域,具体地说是一种实用性强、基于接口的数据通信方法。



背景技术:

随着信息时代的到来,数据的积累成几何倍增长。尤其是软件产品兴起的今天,各种大数据技术也随之迅速发展,而如今的软件产品,面临的问题就是,大量数据的通信问题。目前许多企业及单位数据管理松散,数据无法共享,数据安全性差,系统无法整合,跨平台及跨语言应用等方面带来的数据库无法互相调用访问。鉴于此,现提供一种基于基于接口的数据通信方法,本方法可以有效的解决此类问题,通过API的方式打通数据库直接的链接通道,使得不同的数据库之间实现通信。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种实用性强、基于接口的数据通信方法。

一种基于接口的数据通信方法,包括API函数服务宿主层、访问逻辑控制层、数据库访问层以及若干数据库,其通信过程为:

当用户在客户端提出调用数据库的请求时,该API函数服务宿主层生成API接口并进行管理;

用户的请求通过上述API函数服务宿主层发送到访问逻辑控制层,逻辑访问控制层进行语义解析,构建逻辑规则,同时返回结果及请求限制;

当访问逻辑控制层解析请求后发现该请求无限制信息,则请求调用数据库访问层,该数据库访问层连接若干数据库,数据库访问层根据请求调用数据库并返回响应内容,实现用户调用数据库。

API函数服务宿主层包括以下模块:

公共查询模块,根据系统中的API对外提供查询服务,负责查询现有API实例,包括状态、函数参数说明、示例代码、服务控制人、调用方信息;

API实例管理模块,实现API实例的维护、控制,负责管理API实例的发布、启用状态、访问信息、访问权限控制、状态查询;

API接口及类生成模块,根据API实例管理模块的指令生成API发布所需的接口和类的Java代码;

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

API函数构造模块,实现API函数的构造和发布功能,将构造的API函数发送到API宿主模块;

API宿主模块,提供WebService服务让外部从指定的入口点进行访问,从而提供服务。

访问逻辑控制层包括以下逻辑规则模块:

逻辑控制管理模块,通过配置下述逻辑规则宿主模块的入口和各个逻辑规则模块实现逻辑规则的控制,实现状态和日志的读取;

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

逻辑规则宿主模块,提供唯一入口点供外部调用,实现集成控制,并在入口点执行环境实例规则模块并且调用来实现规则的控制;

逻辑规则状态监控模块,此模块通过逻辑规则宿主模块入口的回调来实现状态的读取,并记录日志信息,以实现所有操作的可回溯,该日志记录在日志模块中,日志模块以Log日志的形式记录用户或系统所有操作及访问流程。

所述逻辑控制管理模块通过维护逻辑规则,添加、删除、启用、停用逻辑规则模块,通过调用逻辑规则状态监控模块获取逻辑规则宿主的运作状态实时信息和日志。

所述逻辑规则生成模块响应逻辑控制管理模块的调用,生成逻辑规则宿主模块指定的控制规则,并添加到逻辑规则宿主模块,实现逻辑规则的添加。

所述逻辑规则宿主模块通过工厂反射的模式,松耦合的形式调用顺序的调用访问逻辑控制层的各个模块,每一个逻辑规则模块按照程序定义接口进行执行并返回。

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

逻辑访问控制层还包括安全审计模块,返回请求限制通过安全审计模块实现,该安全审计模块通过访问来源以及连接安全的审计,进行请求过滤,从而过滤受限访问或者非信任请求访问,并向API函数服务宿主层返回该请求限制的内容。

所述安全审计模块提供WebService接口,用于自定义安全连接或非安全连接,即当该安全审计模块审核请求内容通过时,实现访问逻辑控制层与数据库访问层之间的安全连接,否则则不进行连接。

所述数据库访问层包括以下模块:

数据连接管理模块,配置指定的数据库实例信息和开关,以供连接模块的调用,来实现连接数据库的控制,即此模块管理数据库实例的挂载和卸载,数据库驱动的添加,并调用数据连接模块实现数据库操作的挂起;

数据连接模块,此模块指定唯一的入口点供调用来实现数据库的操作,即通过管理模块配置信息和入口调用信息,来判断数据库的连接类型并动态载入连接驱动,通过驱动模块操作数据库。

本发明的一种基于接口的数据通信方法,具有以下优点:

本发明的一种基于接口的数据通信方法,能有效的解决企业数据管理松散,数据共享,数据安全,系统整合,跨平台及跨语言应用等方面带来的数据库访问,以及数据安全的问题;更有效的提高用户对数据的把控能力,增强企业工作效率和办事能力;优化目前传统的项目开发实施思路,进而强化系统工作效率和复用度,实用性强,适用范围广泛,易于推广。

附图说明

附图1为本发明的结构实现图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明。

如附图1所示,本发明的一种基于接口的数据通信方法,目的是通过API的方式打通数据库直接的链接通道。

包括API函数服务宿主层、访问逻辑控制层、数据库访问层以及若干数据库,其通信过程为:

当用户在客户端提出调用数据库的请求时,该API函数服务宿主层生成API接口并进行管理;

用户的请求通过上述API函数服务宿主层发送到访问逻辑控制层,逻辑访问控制层进行语义解析,构建逻辑规则,同时返回结果及请求限制;

当访问逻辑控制层解析请求后发现该请求无限制信息,则请求调用数据库访问层,该数据库访问层连接若干数据库,数据库访问层根据请求调用数据库并返回响应内容,实现用户调用数据库。

API函数服务宿主层:

公共查询模块,,主要根据系统中的API对外提供查询服务,让调用方能够得到技术支持。负责查询现有API实例,包括状态,函数参数说明,示例代码,服务控制人,调用方等信息。

API实例管理模块,通过API实例管理模块实现API实例的维护,控制等,能有让管理员控制API实例。负责管理API实例的发布,启用状态,访问信息,访问权限控制,状态查询等。

API接口及类生成模块,根据程序的接口定义以及通用类来实现,自动生成可编译的Java代码。能够根据管理模块的指令生成API发布 所需的接口和类的Java代码。

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

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

API函数构造模块,能够实现API函数的构造和发布功能,可将 构造的API函数发送到API宿主模块。使用CXF类库提供的ServerFactoryBean构造服务元,并在构造过程中添加拦截器回调和访问逻辑,以实现安全功能。

API宿主模块,能提供WebService服务让外部从指定 的入口点进行访问,从而提供服务。通过构建模块构建ServerFactoryBean,使用Create产生Server,配置按照构建模块的定义配置Endpoint,实现WebService服务来提供外部访问。

访问逻辑控制层包括以下逻辑规则模块:

逻辑控制管理模块,通过配置下述逻辑规则宿主模块的入口和各个逻辑规则模块实现逻辑规则的控制,实现状态和日志的读取;

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

逻辑规则宿主模块,提供唯一入口点供外部调用,实现集成控制,并在入口点执行环境实例规则模块并且调用来实现规则的控制;

逻辑规则状态监控模块,此模块通过逻辑规则宿主模块入口的回调来实现状态的读取,并记录日志信息,以实现所有操作的可回溯,该日志记录在日志模块中,日志模块以Log日志的形式记录用户或系统所有操作及访问流程。

所述逻辑控制管理模块通过维护逻辑规则,添加、删除、启用、停用逻辑规则模块,通过调用逻辑规则状态监控模块获取逻辑规则宿主的运作状态实时信息和日志。

所述逻辑规则生成模块响应逻辑控制管理模块的调用,生成逻辑规则宿主模块指定的控制规则,并添加到逻辑规则宿主模块,实现逻辑规则的添加。

所述逻辑规则宿主模块通过工厂反射的模式,松耦合的形式调用顺序的调用访问逻辑控制层的各个模块,每一个逻辑规则模块按照程序定义接口进行执行并返回。

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

逻辑访问控制层还包括安全审计模块,返回请求限制通过安全审计模块实现,该安全审计模块通过访问来源以及连接安全的审计,进行请求过滤,从而过滤受限访问或者非信任请求访问,并向API函数服务宿主层返回该请求限制的内容。

所述安全审计模块提供WebService接口,用于自定义安全连接或非安全连接,即当该安全审计模块审核请求内容通过时,实现访问逻辑控制层与数据库访问层之间的安全连接,否则则不进行连接。

所述数据库访问层包括以下模块:

数据连接管理模块,配置指定的数据库实例信息和开关,以供连接模块的调用,来实现连接数据库的控制,即此模块管理数据库实例的挂载和卸载,数据库驱动的添加,并调用数据连接模块实现数据库操作的挂起;

数据连接模块,此模块指定唯一的入口点供调用来实现数据库的操作,即通过管理模块配置信息和入口调用信息,来判断数据库的连接类型并动态载入连接驱动,通过驱动模块操作数据库。

本发明提供的方法具有以下特点:

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

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

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

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

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

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

本发明中各层之间的连接方式如下:

客户端通过soap协议,调用API实现数据库的访问。

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

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

上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于接口的数据通信方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

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