基于一表多用户的服务发布及访问系统技术方案

技术编号:19215710 阅读:34 留言:0更新日期:2018-10-20 06:43
本发明专利技术公开了一种基于一表多用户的服务发布及访问系统,包括元数据管理单元、服务发布单元和服务访问单元。本发明专利技术的基于元数据进行的服务发布,不但准确而且灵活,能够适用于大部分的应用场景,即能够进行服务发布也可以进行服务访问权限的控制,能够保证数据被最应该使用的人所使用;安全可靠的验证机制,服务访问、数据访问双监控机制,为数据管理部门提供了全方位的数据保护,能够有效保证数据安全的保密性、可用性、可控制性;完善的日志记录机制,能够记录所有的服务访问情况。

【技术实现步骤摘要】
基于一表多用户的服务发布及访问系统
本专利技术涉及计算机
,具体来说,涉及一种基于一表多用户的服务发布及访问系统。
技术介绍
目前市场上用于服务发布及访问的产品不多,类似产品主要以挂接已经封装好的webservice服务为主,提供服务路由、服务访问负载均衡功能,能够控制服务的访问权限,记录服务访问日志。但这些产品还是存在明显的局限性:1)只提供服务挂接功能,只能够针对已经发布好的webservice提供挂接功能,不能够基于数据库中表、视图等动态发布服务。如果要针对数据库中表、视图发布服务,需要先将表、视图封装成webservice,需要专业的软件开发人员编写代码才能完成,如果找不到合适的软件开发人员那么就无法完成服务发布工作;2)只能够控制服务的访问权限,只能够控制服务访问者是否有权访问此服务,即访问者有权访问和无权访问两种状态,对于服务内部数据的访问却无法控制,比如某个服务将会提供三类数据:身份证号码、手机号码、银行卡号,这种情况下就无法控制访问者是否有权获取全部三类数据,还是只能够获取其中某几类数据;3)只能记录粗粒度的服务访问日志,对于服务访问日志可以包含如下信息:访问者信息、访问时间、所访服务信息、访问结果、访问用时、访问记录数;对于目前市场上产品的调研发现,大部分不能够记录访问数据条数,对于访问时间、访问结果的记录也不准确,比如记录访问时间会将从接到请求至返回结果这段时间记录下来,但是这其中包含了权限验证、服务路由的时间花费,不能够准确记录服务真实工作所用时间。挂接的webservice中很多服务为了运行稳定,已经将可能的异常捕获,并且在返回值中暴露这些内部异常,比如数据库连接异常、用户名密码错误、查询参数不正确、访问授权过期,如果只是挂接webservice并不能感知服务内部的异常情况,因此记录日志时这些访问都不会被记录成异常访问;4)不支持一表多用户功能,一表多用户即基于数据库中的表和视图发布服务,发布后的服务针对不同的访问用户可以设定不同的访问权限,即不同的用户访问同一个服务时将会得到不同结果;市场上现有产品并不能够支持一表多用户功能。
技术实现思路
本专利技术的目的在于提出一种基于一表多用户的服务发布及访问系统,以克服现有技术中存在的上述不足。为实现上述技术目的,本专利技术的技术方案是这样实现的:一种基于一表多用户的服务发布及访问系统,所述系统包括元数据管理单元、服务发布单元和服务访问单元;所述元数据管理单元包括数据库连接模块、数据对象模块和数据属性模块,所述数据库连接模块用于以列表的方式建立起数据库与数据对象之间的连接关系,所述数据对象模块用于以列表的方式将数据对象导入数据库,以及能够自动识别数据库内存储的所有数据对象,并将这些数据对象呈现给服务发布单元,所述数据属性模块用于以列表的方式建立起数据对象的数据属性信息,所述数据属性信息随着数据对象的导入而导入,随着数据对象的导出而导出;所述服务发布单元包括服务信息模块、服务输入输出模块和服务权限模块,所述服务信息模块用于将数据对象包装成服务,所述服务权限模块用于依据用户的身份信息建立所述身份信息和服务的映射关系,所述映射关系包括用户是否能够访问所述服务以及能够访问所述服务下的哪些数据对象,所述服务输入输出模块用于将数据对象导入数据对象模块以及将授权后的服务呈现给用户;所述服务访问单元包括信息录入模块、权限验证模块和数据查询模块,所述信息录入模块用于输入用户的身份信息,并验证用户的身份信息是否正确,若正确,则将用户的身份信息发送给权限验证模块,若不正确,则输出错误信息,所述权限验证模块用于验证用户是否有权访问服务,若没有权利访问,则输出无权利访问信息,若有权利访问,则进一步验证用户能够访问所述服务下对应的数据对象,并将用户的授权情况发送给数据查询模块,所述数据查询模块依据用户的授权情况调用底层服务进行服务查询,获取查询结果,并将查询结果发送给服务输入输出模块。进一步的,所述服务访问单元还包括访问日志记录模块,所述访问日志包括请求时间、请求响应时间、请求者编号、请求者所用IP、服务编号、请求信息、请求结果和请求结果数据量中的一种或多种。进一步的,所述服务访问单元还包括数据脱敏模块,用于将授权后的服务中有敏感字段的数据对象进行数据脱敏,并将数据脱敏后的服务发送给服务输入输出模块。进一步的,所述数据脱敏模块采用混淆掩码的技术对数据进行脱敏处理。进一步的,所述身份信息包括用户的基本信息、用户访问的IP地址、用户访问的时间和用户访问的次数中的一种或多种。进一步的,所述服务信息模块包括:搭建环境模块,用于搭建shell脚本运行环境,编译项目,运行预先编写的插件,所述插件基于项目管理工具Maven、版本控制工具SVN、JDK和Tomcat编写;代码检出模块,从SVN获取最新代码;编译打包模块,使用Maven对获取的所述最新代码进行编译打包,形成打包文件;发布模块,将所述打包文件发布到Tomcat服务器当中进行发布。进一步的,还包括服务负载查询管理模块,所述服务负载查询管理模块包括:框架搭建模块,用于搭建springboot框架,运行springcloud中的网关组件;网关,接收权限验证模块发送的授权情况并根据查询请求控制数据查询模块选择所要请求的服务节点下负荷较小的节点分发所述查询请求。进一步的,所述网关还包括服务状态监测模块,用于查看服务是否正常,若服务下的所有节点均异常,则由断路器返回异常信息。进一步的,所述网关依据心跳机制通过注册中心实时检测各个服务节点的负载情况。进一步的,所述负载包括请求负载和数据负载中的一种或多种。本专利技术的有益效果:1、方便灵活的服务发布方式,基于元数据进行的服务发布,不但准确而且灵活,能够适用于大部分的应用场景,即能够进行服务发布也可以进行服务访问权限的控制,能够保证数据被最应该使用的人所使用;2、提高数据使用率,可以有效提高数据使用率,避免出现数据孤岛,方便数据互联互通,从而加大数据融合,在大数据融合的背景下也就间接的发挥了数据潜在的价值;3、安全可靠的验证机制,服务访问、数据访问双监控机制,为数据管理部门提供了全方位的数据保护,能够有效保证数据安全的保密性、可用性、可控制性;4、完善的日志记录机制,能够记录所有的服务访问情况,包括请求时间、请求响应时向请求者编号、请求者所用IP、服务编号、请求信息、请求结果(成功、失败、越权访问)、请求结果数据量,即请求者只要请求无论请求是否成功都会被记录下来,通过分析日志可以知道请求者的身份和请求者发起请求时所在的网络位置,这些都可以有效保证数据安全使用的不可抵赖性,也大大增加了数据的安全性;5、方便部署:一线运维人员不需要掌握项目部署流程和Linux系统命令相关技术,只需根据操作指导书逐步进行即可,大大减少了部署流程和速度,减少了一线运维人员的部署时间和运维成本;稳定性高、封装性强:本专利技术对于一线运维人员来说只需调用初始命令即可,而且对于绝大多数异常情况,譬如异常断电断网等,工具会检测到断电断网异常,并且可以回滚到上一步操作;方便版本控制:由于各个现场发布的版本不统一,导致对版本的控制不好管理,所以通过本专利技术自动化部署,实现对版本的控制,方便统一管理、易于维护,降低维护成本;本文档来自技高网
...

【技术保护点】
1.基于一表多用户的服务发布及访问系统,其特征在于,所述系统包括元数据管理单元、服务发布单元和服务访问单元;所述元数据管理单元包括数据库连接模块、数据对象模块和数据属性模块,所述数据库连接模块用于以列表的方式建立起数据库与数据对象之间的连接关系,所述数据对象模块用于以列表的方式将数据对象导入数据库,以及能够自动识别数据库内存储的所有数据对象,并将这些数据对象呈现给服务发布单元,所述数据属性模块用于以列表的方式建立起数据对象的数据属性信息,所述数据属性信息随着数据对象的导入而导入,随着数据对象的导出而导出;所述服务发布单元包括服务信息模块、服务输入输出模块和服务权限模块,所述服务信息模块用于将数据对象包装成服务,所述服务权限模块用于依据用户的身份信息建立所述身份信息和服务的映射关系,所述映射关系包括用户是否能够访问所述服务以及能够访问所述服务下的哪些数据对象,所述服务输入输出模块用于将数据对象导入数据对象模块以及将授权后的服务呈现给用户;所述服务访问单元包括信息录入模块、权限验证模块和数据查询模块,所述信息录入模块用于输入用户的身份信息,并验证用户的身份信息是否正确,若正确,则将用户的身份信息发送给权限验证模块,若不正确,则输出错误信息,所述权限验证模块用于验证用户是否有权访问服务,若没有权利访问,则输出无权利访问信息,若有权利访问,则进一步验证用户能够访问所述服务下对应的数据对象,并将用户的授权情况发送给数据查询模块,所述数据查询模块依据用户的授权情况调用底层服务进行服务查询,获取查询结果,并将查询结果发送给服务输入输出模块。...

【技术特征摘要】
1.基于一表多用户的服务发布及访问系统,其特征在于,所述系统包括元数据管理单元、服务发布单元和服务访问单元;所述元数据管理单元包括数据库连接模块、数据对象模块和数据属性模块,所述数据库连接模块用于以列表的方式建立起数据库与数据对象之间的连接关系,所述数据对象模块用于以列表的方式将数据对象导入数据库,以及能够自动识别数据库内存储的所有数据对象,并将这些数据对象呈现给服务发布单元,所述数据属性模块用于以列表的方式建立起数据对象的数据属性信息,所述数据属性信息随着数据对象的导入而导入,随着数据对象的导出而导出;所述服务发布单元包括服务信息模块、服务输入输出模块和服务权限模块,所述服务信息模块用于将数据对象包装成服务,所述服务权限模块用于依据用户的身份信息建立所述身份信息和服务的映射关系,所述映射关系包括用户是否能够访问所述服务以及能够访问所述服务下的哪些数据对象,所述服务输入输出模块用于将数据对象导入数据对象模块以及将授权后的服务呈现给用户;所述服务访问单元包括信息录入模块、权限验证模块和数据查询模块,所述信息录入模块用于输入用户的身份信息,并验证用户的身份信息是否正确,若正确,则将用户的身份信息发送给权限验证模块,若不正确,则输出错误信息,所述权限验证模块用于验证用户是否有权访问服务,若没有权利访问,则输出无权利访问信息,若有权利访问,则进一步验证用户能够访问所述服务下对应的数据对象,并将用户的授权情况发送给数据查询模块,所述数据查询模块依据用户的授权情况调用底层服务进行服务查询,获取查询结果,并将查询结果发送给服务输入输出模块。2.根据权利要求1所述的系统,其特征在于,所述服务访问单元还包括访问日志记录模块,所述访问日志包括请求时间、请求响应时间、请求者编号、请求者所用IP、服务编号、...

【专利技术属性】
技术研发人员:文佳王夷赵新军冯龙龙
申请(专利权)人:新疆熙菱信息技术股份有限公司
类型:发明
国别省市:新疆,65

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1