基于大数据的轻量级数据服务总线系统
技术领域
本发明涉及数据处理领域,特别涉及基于大数据的轻量级数据服务总线系统。
背景技术
目前大数据挖掘平台接入或准备接入了大量不同类型的业务,数据还在以一定的速度增长,并随着业务量的陆续接入,预计未来将会产生更多超大规模的数据量。使用传统接口开发及服务方式已难以达到日益增长的业务需求,也难以满足大数据业务的承载量,对未来大数据业务方向发展已形成不可避免的制约与巨大的阻碍。
大数据挖掘分析产生的所有价值数据,需要通过一个统一的接口平台开发、接入、管理、输出、维护等,目前提供接入数据大部分来自黑电白电数据分析,但以价值数据开放为出发点,挖掘并提供大数据的价值数据,现状以零散、不统一、无管理、接入和输出混乱的局面进行数据交互与业务运营,不能有效的管理价值数据和发挥大数据更重要的商业价值,亦不能满足大数据当前及未来业务量增长的步伐。
数据接口需求分散并混乱,价值数据无统一管理,对外提供接口分散到各处,不能有效管理和控制数据和接口,对未来业务需求形成难以逾越的瓶颈,也对大数据挖掘更有价值和发现更多商业机会的核心价值产生较大的负面影响。
发明内容
本发明要解决的技术问题是:提供一种基于大数据的轻量级数据服务总线系统,解决接口零散、不统一、无管理、接入和输出混乱的问题。
为解决上述问题,本发明采用的技术方案是:基于大数据的轻量级数据服务总线系统,包括服务接口子平台、服务管理子平台、服务开放子平台;
所述服务接口子平台用于向接入方提供轻量级数据接口和业务接口开发模式包;所述服务管理子平台用于为系统提供统一的管理和监控;所述服务开放子平台用于接口推广宣传和接入指导。
进一步的,所述服务接口子平台包括接口引擎和服务引擎;
所述接口引擎用于对接入方应用发出的能力调用请求进行安全校验,如果通过,则向服务引擎发起能力调用请求;还用于根据开放接口规则组装服务引擎返回的结果,并将组装后的结果返回给接入方;
所述服务引擎用于根据接口引擎发起的能力调用请求到大数据侧抓取有用数据,并对抓取后的数据进行整理,并将整理后的数据结果接口引擎。
进一步的,所述接口引擎将服务引擎的数据接口扩展为具体业务接口,且同一个数据接口对应多个业务接口的模式,接口引擎同时对业务接口访问权限进行控制;所述接口引擎包括接入鉴权模块和业务鉴权模块;
所述接入鉴权模块用于对接入方的身份进行验证;所述业务鉴权模块用于通过配置的接入商与角色的关系、角色与接口的关系,对接入商是否拥有所调用接口权限进行验证。
进一步的,所述身份进行验证包括ID验证和IP验证。
进一步的,所述服务管理子平台包括服务开放管理模块、接入商管理模块、白名单管理模块、接口信息管理模块、接口推荐管理模块、服务接口子平台管理模块、流量统计模块、权限管理模块、菜单管理模块、组织机构管理模块、任务调度管理模块、日志管理模块;
所述服务开放管理模块用于对接入商注册管理,对接入商角色分配服务,对门户页面需要生成静态页面的模板提供通过模板,为后台管理数据生成相应静态页面和预览页面;
所述接入商管理模块用于对接入商角色信息进行维护,以及为接入商角色分配可访问的接口;对接入商授予不同的角色就能让接入商拥有不同的访问权限;
所述白名单管理模块用于给指定的接入商赋予访问所有接口的权限,位于白名单内的接入商可以快速地访问所有接口;
所述接口信息管理模块用于对接口信息进行统一维护管理,并为服务开发子平台的接口信息展示提供后台支持;
所述接口推荐管理模块用于对有价值或者常用的接口进行标注,并把这些接口推荐到门户的接口推荐版块进行显示;
所述服务接口子平台管理模块用于对接口调用文档、接入说明文档进行统一维护管理,并提供文档上传与下载;
所述流量统计模块用于对接入商调用接口的流量进行汇总查询,并生成统计表和图表,以及对接入商调用接口的次数进行查询生成统计报表和图表,并提供导出报表功能;
所述权限管理模块用于对系统的功能权限和系统中的数据权限进行管理;
所述菜单管理模块用于对系统菜单信息进行维护;
所述组织机构管理模块用于对系统组织机构进行维护;
所述任务调度管理模块用于对任务调度信息进行维护;
所述日志管理模块用于对系统的行为进行记录。
进一步的,所述服务开放子平台包括接口推荐模块、接口搜索模块、经典接口模块、接入商模块、接口列表模块、接口API模块;
所述接口推荐模块用于展示服务接口子平台配置的推荐接口信息;
所述接口搜索模块用于为接入接口的接入方提供搜索功能;
所述经典接口模块用于展示具有特色功能以及调用次数较多的接口;
所述接入商模块用于显示接入商的基本信息;
所述接口列表模块用于显示所有已上线的接口,接口按照分类以树状形式展示;
所述接口API模块用于提供接口详细API介绍。
本发明的有益效果是:本发明为大数据提供价值数据的统一价值接口、统一开发模式、统一管理模式、统一监控模式和统一服务模式,形成业务开发快速、接口规划统一、业务负载极强、服务扩展性强,高安全性、高并发性、高扩展性,并支持统一管理和监控及展示的高级赋能平台。
附图说明
图1为本发明接口引擎与服务引擎调用流程图;
图2为实施例获取数据流程示意图。
具体实施方式
本发明包括三个子平台,分别是服务接口子平台(英文ServiceInterface,以下简称SI)、服务管理子平台(英文ServiceManage,以下简称SM)和服务开放子平台(英文ServiceOpen,以下简称SO)。
SI用于向接入方提供轻量级数据接口和业务接口开发模式包,它包括接口引擎和服务引擎。所述接口引擎用于对接入方应用发出能力调用请求进行安全校验,如果通过,则向服务引擎发起能力调用请求;还用于根据开放接口规则组装服务引擎返回的结果,并将组装后的结果返回给接入方;所述服务引擎用于根据接口引擎发起的能力调用请求到大数据侧抓取有用数据,并对抓取后的数据进行整理,并将整理后的数据结果接口引擎。接口引擎负责业务封装与接入管控,为服务接口SI的业务核心;服务引擎负责能力封装,为服务接口SI的能力核心。接口引擎与服务引擎调用流程如图1,流程如下:
第一步:接入方应用向接口平台(接口引擎)发出能力调用请求;
第二步:接口引擎对请求进行安全校验,通过则向服务引擎发起能力调用请求;
第三步:服务引擎到大数据侧抓取有用数据,整理后将数据结果返回给接口平台(接口引擎);
第四步:接口引擎根据开放接口规则组装返回结果返回给接入方。
接口引擎是基于在服务引擎之上,将服务引擎的数据接口扩展为具体业务接口,同一个数据接口对应多个业务接口的模式,接口引擎同时对业务接口访问权限进行控制。接口引擎包括接入鉴权和业务鉴权两个核心功能模块,其中:
接入鉴权模块通过对接入者身份验证达到有效防止非法访问的目的,验证包括ID验证和IP验证,ID验证实现方式是服务管理SM通过“接入商管理”模块分配合法账户ID和唯一Key(MD5加密),IP验证实现方式是从接口调用请求中获取IP地址信息,将其与安全配置的该接入商IP地址列表进行对比完成鉴权;
业务鉴权模块在接入鉴权成功后,进一步对接入商接口调用权限进行校验,通过“接入商管理”、“接入商角色管理”模块配置接入商与角色关系、角色与接口关系,主要对接入商是否拥有所调用接口权限进行验证。
接入鉴权模块和业务鉴权模块使用AOP(面向切面的编程)实现。利用AOP的低侵入性,降低与其他业务功能的耦合度,同时提高程序的可重用性,提高开发效率。服务引擎提供底层数据源至接口引擎的高度重用性的数据接口快速开发模式,在服务引擎程序中对数据库进行切分,并且采用多个数据库实例进行管理,有效提高系统的水平伸缩性,程序在运行时根据当前的请求及系统状态来动态的决定将数据存储在哪个数据库实例中,以及从哪个数据库提取数据,通过Spring配置文件对多数据源进行配置,使用注解方式尽可能减少对配置文件的依赖。
SM为系统提供统一的管理和监控,包括对SI里接口的接入调度的管理、接口信息介绍使用方法展示的管理、接入商调用接口的监控,这些所有的管理操作都纳入到服务管理子平台来进行集中管理,统一了管理口径,使得管理更加科学、有效、清晰。统一管理模式:所有接口、服务开放信息全部由统一的管理平台管理,服务接口子平台对管理做底层支撑,服务开放子平台对录入信息进行展示;统一监控模式:所有接口全部由统一的管理平台监控,服务接口子平台对监控做底层支撑。
SM包括服务开放管理、接入商管理、白名单管理、接口信息管理、接口推荐管理、SI管理、流量统计、权限管理、菜单管理、组织机构管理、任务调度管理、日志管理等核心模块。其中:
服务开放管理模块主要为系统提供接入商注册管理功能,包括新增、修改、删除、查询接入商;为接入商角色分配;对门户页面需要生成静态页面的模板;提供通过模板和后台管理数据生成相应静态页面、预览页面。
接入商管理模块主要是对接入商角色信息进行维护,包括新增、修改、删除角色商信息;为接入商角色分配可访问的接口,接入商角色的目的就在于关联接入商和接入商所能访问的接口管理;对接入商授予不同的角色就能让接入商拥有不同的访问权限,即能访问指定的接口。
白名单管理模块主要是方便快速的给接入商赋予访问所有接口的功能。只要接入商进入到白名单里,接入商就拥有访问所有接口的权限,从而实现批量的快速分配访问接口,由于角色功能适用于一般情况下的访问权限,而白名单更为直接的反应接入商的权限,即白名单内的成员就相当于拥有所有接口的“绿色通道”。
接口信息管理模块是服务管理子平台对接口信息进行统一维护管理,并为服务开发子平台的接口信息展示提供后台支持的功能子模块。主要功能点有查询接口、新增接口、修改接口信息、删除接口、设定经典接口,并可对接口是否开放、访问流量、调用次数等信息进行设定。
接口推荐管理模块对一些比较有价值或者用得比较多的接口进行标注,然后把这些接口推荐到门户的接口推荐版块进行显示,此功能目的在于能加只能的为接入商推荐可能用到的相应接口。
SI管理模块是服务管理子平台对接口调用文档、接入说明文档进行统一维护管理,并提供文档上传与下载的功能子模块。主要功能点有查询文档、新增文档、修改文档信息、删除文档、上传文档、下载文档。
流量统计模块是对接入商调用接口的流量进行汇总查询生成统计表和图表和对接入商调用接口的次数进行查询生成统计报表和图表,并提供导出报表功能。
权限管理模块包括功能权限管理和数据权限管理,功能权限管理又包括菜单级权限、区域级权限、按钮级权限,数据权限又包括对数据的行级别权限和列级别权限的管理,功能权限和数据权限又分别对应功能角色和数据角色授权。
菜单管理单管理模块主要是对系统菜单信息的维护,包括增、删、改、查的维护,菜单名称、菜单url、描述以及菜单的父子关系维护。提供按菜单名称和菜单URL查询菜单信息的功能,包括数据菜单管理信息的新增、编辑、删除。
组织机构管理模块是对系统组织机构进行维护,组织机构信息包括机构名称、机构代码、描述字段信息及其父子关系。提供按机构名称来查询组织机构信息的功能。包括数据机构管理信息的新增、编辑、删除。
任务调度管理模块是任务调度信息进行维护。任务调度信息包括任务代码、任务名称、任务类名、调度时间、任务状态、控制参数字段信息。提供按任务代码、任务名称、任务状态来查询任务调度信息。包括任务管理信息的新增、编辑、删除、查看。
日志管理模块主要是对系统的行为进行记录,系统日志能够将管理平台中的各个功能模块的操作都记录下来,并提供按用户名、菜单名称、开始时间、结束时间条件来查询系统日志记录的功能。
SO用于接口推广宣传和接入指导,包括成功案例、用户信息及用户常用接口、接口使用统计情况、接口使用说明和API文档下载等功能。重点功能模块有接口推荐、接口搜索、经典接口、接入商、接口列表、接口API。
接口推荐模块展示服务管理SM配置的推荐接口信息,根据登录用户类别进行分类推荐,接口信息包括接口名称、接口功能、推荐理由、调用次数。数据通过调用服务接口SI提供的接口(推荐接口信息获取)获取。点击接口名称页面跳转至接口页面。
接口搜索模块提供搜索功能,在进行搜索的时候,用户点击搜索框,默认以树状结构显示所有的接口列表,选择具体接口进行信息展示,用户也可以手动输入接口名称,输入的字符中只能由汉字、字母、数字及下划线组成,且字符不能超过50个长度。根据用户输入的字符,下拉菜单中匹配显示对应的接口列表。
经典接口模块展示具有特色功能以及调用次数较多的接口(开发前期由于接口较少,展示所有对外接口)。模块数据来源于服务管理平台,展示的接口信息中包含接口名称、接口图标标志、接口介绍、接口详细信息,点击接口详情超链接,页面跳转至详细接口介绍页面。
接入商模块显示接入商的基本信息,包括接入商名称、注册时间、联系电话、联系邮箱和地址,该模块数据来源于服务管理SM,点击编辑个人信息按钮进入接入商信息修改模块。
接口列表模块显示所有已上线的接口,接口按照分类以树状形式展示,数据来自于服务管理SM提供的数据。
接口API模块用于具体接口详细API介绍,包含接口地址、支持格式、请求方式、请求参数、返回结果、调用示例等。
实施例
某接入商使用本发明开放的SO经典接口之一获取数据,协作流程如图2,具体实施步骤如下:
第一步:用户通过浏览器访问SO网站页面,在经典接口中选择所用接口;
第二步:SO发起http调用请求,根据接口规范约定使用HTTP协议调用接口;
第三步:SI鉴权,对SO的请求进行接入鉴权,如ID鉴权、密匙鉴权及IP鉴权等、业务鉴权、接口访问鉴权。
第四步:SI发出数据请求,SI访问业务数据库获取数据;
第五步:业务数据库返回数据集,并将数据集由服务引擎封装后提供;
第六步:封装业务,SI对取得的数据集进行业务封装和格式化,并由接口引擎提供;
第七步:返回结果(JSON/XML),SI向SO返回JSON/XML格式数据;
第八步:SO网页展现,SO对接口返回数据进行处理,以界面方式展现给用户端浏览器,或接入商直接使用该数据进行业务处理。
以上描述了本发明的基本原理和主要的特征,说明书的描述只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。