CN107800790A - 一种统一数据服务系统及方法 - Google Patents
一种统一数据服务系统及方法 Download PDFInfo
- Publication number
- CN107800790A CN107800790A CN201711001117.1A CN201711001117A CN107800790A CN 107800790 A CN107800790 A CN 107800790A CN 201711001117 A CN201711001117 A CN 201711001117A CN 107800790 A CN107800790 A CN 107800790A
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- service
- rest
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种统一数据服务系统及其实现方法,该系统包括:负载均衡单元,用于对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元;多个REST服务单元,各REST服务单元用于根据所述负载均衡单元分配的任务从配置数据库获取配置数据信息,将客户端调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,并将获取的数据通过所述负载均衡单元返回给客户端;配置数据库,用于存储配置信息;多个数据源,用于为REST服务单元提供数据,本发明可对不同系统、不同数据库提供统一的数据服务和接口,简化了服务开发流程,并实现了详细的用户行为监控。
Description
技术领域
本发明涉及信息技术领域,特别是涉及一种统一数据服务系统及方法。
背景技术
随着计算机网路与信息技术的发展,目前很多企业一般都具有多个系统与多个数据库,然而却没有一个统一的数据服务平台以对其进行管理,因此存在如下缺陷:
(1)数据分布混乱,系统间交互都是通过直连数据库或者每个系统开发自己的WebService服务让其他系统调用,并且每次有新的系统上线时都需要开通多个网络访问关系;
(2)每个系统的用户量很大,数据访问需求也五花八门,因此需要定制很多数据访问的API(Application Programming Interface,应用程序编程接口)服务;
(3)没有高可用的设计,服务存在单点风险;
(4)没有统一的log(日志)记录、没有统一的对用户访问行为和结果的监控。
虽然市面上也出现了一些ESB(Enterprise Service Bus,企业服务总线)工具来对企业的多个系统与多个数据库进行服务管理,但其仅仅只是管理,节省不了服务和API的开发时间,无法解决上述问题。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种统一数据服务系统及方法,可以对不同系统、不同数据库提供统一的数据服务和接口,以简化服务开发流程,并实现了详细的用户行为监控。
为达上述及其它目的,本发明提出一种统一数据服务系统,包括:
负载均衡单元,用于对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元;
多个REST服务单元,各REST服务单元用于根据所述负载均衡单元分配的任务从配置数据库获取配置数据信息,将客户端调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,并将获取的数据通过所述负载均衡单元返回给客户端;
配置数据库,用于存储配置信息;
多个数据源,用于为REST服务单元提供数据。
进一步地,所述REST服务单元还用于记录用户的访问行为与结果。
进一步地,所述系统还包括监控单元,用于从所述REST服务单元获取用户的访问行为与结果,并对所述REST服务单元的服务的被访问情况进行监控。
进一步地,所述监控单元通过Zookeeper集群实现对所述REST服务单元的监控。
进一步地,所述系统还包括用户管理单元,用于对客户端的用户信息及相应的权限进行管理。
进一步地,所述REST服务单元采用动态唯一化API技术实现。
为达到上述目的,本发明还提供一种统一数据服务系统的实现方法,包括如下步骤:
步骤一,利用负载均衡单元对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元;
步骤二,所述REST服务单元根据负载均衡单元分配的任务从配置数据库获取配置数据信息,将用户调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,并将获取的数据通过负载均衡单元返回给客户端。
进一步地,于步骤二中,所述REST服务单元还记录用户的访问行为与结果。
进一步地,所述方法还包括利用监控单元从REST服务单元获取用户的访问行为与结果,并对REST服务单元的服务的被访问情况进行监控的步骤。
进一步地,于步骤一之前,还包括对客户端的用户信息及相应的权限进行验证的步骤。
与现有技术相比,本发明一种统一数据服务系统及其实现方法通过利用负载均衡单元对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元,并利用REST服务单元根据负载均衡单元分配的任务从配置数据库获取配置数据信息,将用户调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,将获取的数据通过负载均衡单元返回给客户端,对不同系统、不同数据库提供了统一的数据服务和接口,简化了服务的开发流程,并提供了详细的用户行为监控。
附图说明
图1为本发明一种统一数据服务系统的系统架构图;
图2为本发明具体实施例中REST服务单元的细部结构图;
图3为本发明具体实施例中统一数据服务系统的系统架构图;
图4为本发明一种统一数据服务系统的实现方法的步骤流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种统一数据服务系统的系统架构图。如图1所示,本发明一种统一数据服务系统,包括:负载均衡单元101、多个REST服务单元102、配置数据库103以及多个数据源104。
负载均衡单元101,用于对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元;在本发明具体实施例中,负载均衡单元101采用Nginx服务器,Nginx服务器为一种负载均衡服务器,既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。
多个REST(REpresentational State Transfer,表述性状态转移)服务单元102,各REST服务单元用于根据负载均衡单元101分配的任务从配置数据库获取配置数据信息,将用户调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,并将获取的数据通过负载均衡单元101返回给客户端。REST是一种将Web服务抽象为统一资源定位符(Uniform Resource Locator,URL)指向的资源,并采用超文本传输协议(Hyper TextTransfer Protocol,HTTP)协议访问的开发方式,在本发明中,REST服务采用动态唯一化API技术,只需一个API就可以对所有的数据源提供服务,通过对数据库进行数据逻辑的配置来增加数据访问服务。较佳地,REST服务单元102还会记录用户的访问行为与结果,例如包括所有访问过的服务列表、次数以及用时等。
以数据源为关系型数据库为例,假设某个API(Application ProgrammingInterface,应用程序编程接口)在配置数据库里的配置信息为select*from userinfo,客户端调用服务传进来的参数为userid=1、2、3,注册日期在2017年之后的,并且只要姓名和手机号两列,那么取数逻辑会动态生成为select username,cellnum from userinfowhere userid in(1,2,3)and regDate>=’2017-01-01’,REST服务单元根据动态生成的取数逻辑从数据源获取数据。
这里需说明的是,当用户量越来越多,本发明可以动态的增加REST服务节点,而不需要关闭重启,具有多节点动态扩展的优点,同时,本发明还支持热部署、热切换和灰度发布,即在做重大升级的时候,可以先在一个REST服务器上升级,然后验证是否正确,如果正确再把所有REST服务升级
具体地,如图2所示,REST服务单元102进一步包括:
解析单元1021,用于对负载均衡单元101分配的任务进行解析,获得具体的任务信息;
配置数据获取单元1022,用于根据解析结果从配置数据库获得所述任务的配置数据信息;
取数逻辑生成单元1023,用于根据配置数据信息将用户调用的任务动态生成取数逻辑;
数据获取单元1024,用于根据取数逻辑从对应的数据源获取数据;
数据返回单元1025,用于将获取的数据通过负载均衡单元101返回给客户端。
配置数据库103,用于存储配置信息,例如所有动态API的初始取数逻辑、API分组、用户权限和权限组、数据源连接信息等。优选地,在本发明具体实施例中,对配置数据库可进行分页分流限制,防止一次性传输大量数据占带宽,即在配置数据库里有每个用户每次访问和当天访问最大行数限制,例如某个用户每次调用最多只能调用5000行,每天只能调用100万行
多个数据源104,为多个数据库,用于为REST服务单元102提供数据。
需说明的是,在本发明具体实施例中,从Nginx负载均衡到多个服务节点,配置数据库、zookeeper均使用集群方式,所以本发明具有高可用性。
优选地,本发明一种统一数据服务系统还包括监控单元,监控单元从REST服务单元102获取用户的访问行为与结果,并对REST服务单元102的服务的被访问情况进行监控,并输出予以显示,这里的监控指的是监控服务被访问的状态、取数逻辑、时效性等。较佳地,监控单元可通过Zookeeper集群实现对REST服务单元102的监控。
优选地,本发明之统一数据服务系统还包括用户管理单元,用于对客户端的用户信息及相应的权限进行管理。具体地,用户管理单元包括:
用户登录模块,用于向所有访问者呈现一个登录界面,访问者可以通过相应的用户信息进行登录,若用户输入的信息不正确,则不予登录;
身份验证模块,用于对请求调用任务的客户端的身份进行验证,确认客户端的权限,以确认是否允许该客户端的调用任务。一般来说,对于不同的客户端,其可能存在不同的权限操作,例如某些数据源只允许部分用户可以获得,因此需要用户管理单元对调用任务的客户端的身份和权限进行验证,客户端只有权限访问被授权的API,实现权限管理,避免用户恶意访问。
图3为本发明具体实施例中统一数据服务系统的系统架构图。在本发明具体实施例中,用户调用一次功能的步骤如下:
1、用户(即客户端)启动调用服务,用户首先进行身份和权限验证,以确认该用户是否允许该调用服务;
2、利用Nginx服务器进行负载均衡,把任务分配给相对比较空闲的REST服务单元之“REST服务1”或者“REST服务2”中的其中一个服务;例如将任务分配给相对空闲的REST服务1。
3、REST服务1从配置数据库中读取配置数据信息,把用户调用的服务动态的生成取数逻辑;
4、REST服务1根据动态生成的取数逻辑,去对应的数据源取数据;
5、REST服务1把取到的数据返回给用户,并且记录下用户的访问行为和结果
6、监控系统将用户的访问行为、对服务的被访问进行统计并予以展示。
图4为本发明一种统一数据服务系统的实现方法的步骤流程图。如图3所示,本发明一种统一数据服务系统的实现方法,包括如下步骤:
步骤401,利用负载均衡单元对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元;在本发明具体实施例中,负载均衡单元采用Nginx服务器;
步骤402,REST服务单元根据负载均衡单元分配的任务从配置数据库获取配置数据信息,将用户调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,并将获取的数据通过负载均衡单元返回给客户端。REST是一种将Web服务抽象为统一资源定位符(Uniform Resource Locator,URL)指向的资源,并采用超文本传输协议(Hyper TextTransfer Protocol,HTTP)协议访问的开发方式,在本发明中,REST服务采用动态唯一化API技术,只需一个API就可以对所有的数据源提供服务,通过对数据库进行数据逻辑的配置来增加数据访问服务。较佳地,REST服务单元还会记录用户的访问行为与结果,例如包括所有访问过的服务列表、次数、用时等。
优选地,本发明一种统一数据服务系统的实现方法还包括如下步骤:
利用监控单元从REST服务单元获取用户的访问行为与结果,并对REST服务单元的服务的被访问情况进行监控,并输出予以显示。
综上所述,本发明一种统一数据服务系统及其实现方法通过利用负载均衡单元对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元,并利用REST服务单元根据负载均衡单元分配的任务从配置数据库获取配置数据信息,将用户调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,将获取的数据通过负载均衡单元返回给客户端,对不同系统、不同数据库提供了统一的数据服务和接口,简化了服务的开发流程,并提供了详细的用户行为监控。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种统一数据服务系统,包括:
负载均衡单元,用于对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元;
多个REST服务单元,各REST服务单元用于根据所述负载均衡单元分配的任务从配置数据库获取配置数据信息,将客户端调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,并将获取的数据通过所述负载均衡单元返回给客户端;
配置数据库,用于存储配置信息;
多个数据源,用于为REST服务单元提供数据。
2.如权利要求1所述的一种统一数据服务系统,其特征在于:所述REST服务单元还用于记录用户的访问行为与结果。
3.如权利要求2所述的一种统一数据服务系统,其特征在于:所述系统还包括监控单元,用于从所述REST服务单元获取用户的访问行为与结果,并对所述REST服务单元的服务的被访问情况进行监控。
4.如权利要求3所述的一种统一数据服务系统,其特征在于:所述监控单元通过Zookeeper集群实现对所述REST服务单元的监控。
5.如权利要求1所述的一种统一数据服务系统,其特征在于:所述系统还包括用户管理单元,用于对客户端的用户信息及相应的权限进行管理。
6.如权利要求1所述的一种统一数据服务系统,其特征在于:所述REST服务单元采用动态唯一化API技术实现。
7.一种统一数据服务系统的实现方法,包括如下步骤:
步骤一,利用负载均衡单元对客户端的调用任务进行分析,根据分析结果将任务分配给比较空闲的REST服务单元;
步骤二,所述REST服务单元根据负载均衡单元分配的任务从配置数据库获取配置数据信息,将用户调用的服务动态的生成取数逻辑,根据取数逻辑从数据源获取数据,并将获取的数据通过负载均衡单元返回给客户端。
8.如权利要求7所述的一种统一数据服务系统的实现方法,其特征在于:于步骤二中,所述REST服务单元还记录用户的访问行为与结果。
9.如权利要求8所述的一种统一数据服务系统的实现方法,其特征在于:所述方法还包括利用监控单元从REST服务单元获取用户的访问行为与结果,并对REST服务单元的服务的被访问情况进行监控的步骤。
10.如权利要求7所述的一种统一数据服务系统的实现方法,其特征在于于步骤一之前,还包括对客户端的用户信息及相应的权限进行验证的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711001117.1A CN107800790A (zh) | 2017-10-24 | 2017-10-24 | 一种统一数据服务系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711001117.1A CN107800790A (zh) | 2017-10-24 | 2017-10-24 | 一种统一数据服务系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107800790A true CN107800790A (zh) | 2018-03-13 |
Family
ID=61534448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711001117.1A Pending CN107800790A (zh) | 2017-10-24 | 2017-10-24 | 一种统一数据服务系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107800790A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108540574A (zh) * | 2018-04-27 | 2018-09-14 | 宁波银行股份有限公司 | 一种多类型数据对接系统及方法 |
CN108600386A (zh) * | 2018-05-09 | 2018-09-28 | 数据堂(北京)科技股份有限公司 | 一种提供数据服务的方法及系统 |
CN108763331A (zh) * | 2018-05-09 | 2018-11-06 | 泉州市三川通讯技术有限公司 | 一种集成位置相关的开放式服务应用系统 |
CN109104482A (zh) * | 2018-08-09 | 2018-12-28 | 北斗地网(重庆)科技集团有限公司 | 一种地网平台的分布式系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004104891A1 (en) * | 2003-05-19 | 2004-12-02 | Chauhan S K | Automated utility supply management system integrating data sources including geographic information systems (gis) data. |
CN102137136A (zh) * | 2010-08-13 | 2011-07-27 | 华为技术有限公司 | 实现业务聚合Mashup业务的方法、装置和设备 |
CN104580342A (zh) * | 2014-08-01 | 2015-04-29 | 南京坦道信息科技有限公司 | 一种可扩展和完全自定义的统一接口服务平台 |
CN104754045A (zh) * | 2015-03-23 | 2015-07-01 | 国网辽宁省电力有限公司信息通信分公司 | 数据中心服务与应用接口管理平台 |
CN105681426A (zh) * | 2016-01-22 | 2016-06-15 | 上海携程商务有限公司 | 异构系统 |
CN106713332A (zh) * | 2016-12-30 | 2017-05-24 | 山石网科通信技术有限公司 | 网络数据的处理方法、装置和系统 |
-
2017
- 2017-10-24 CN CN201711001117.1A patent/CN107800790A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004104891A1 (en) * | 2003-05-19 | 2004-12-02 | Chauhan S K | Automated utility supply management system integrating data sources including geographic information systems (gis) data. |
CN102137136A (zh) * | 2010-08-13 | 2011-07-27 | 华为技术有限公司 | 实现业务聚合Mashup业务的方法、装置和设备 |
CN104580342A (zh) * | 2014-08-01 | 2015-04-29 | 南京坦道信息科技有限公司 | 一种可扩展和完全自定义的统一接口服务平台 |
CN104754045A (zh) * | 2015-03-23 | 2015-07-01 | 国网辽宁省电力有限公司信息通信分公司 | 数据中心服务与应用接口管理平台 |
CN105681426A (zh) * | 2016-01-22 | 2016-06-15 | 上海携程商务有限公司 | 异构系统 |
CN106713332A (zh) * | 2016-12-30 | 2017-05-24 | 山石网科通信技术有限公司 | 网络数据的处理方法、装置和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108540574A (zh) * | 2018-04-27 | 2018-09-14 | 宁波银行股份有限公司 | 一种多类型数据对接系统及方法 |
CN108600386A (zh) * | 2018-05-09 | 2018-09-28 | 数据堂(北京)科技股份有限公司 | 一种提供数据服务的方法及系统 |
CN108763331A (zh) * | 2018-05-09 | 2018-11-06 | 泉州市三川通讯技术有限公司 | 一种集成位置相关的开放式服务应用系统 |
CN109104482A (zh) * | 2018-08-09 | 2018-12-28 | 北斗地网(重庆)科技集团有限公司 | 一种地网平台的分布式系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108322471B (zh) | 多租户身份和数据安全性管理云服务 | |
CN107005582B (zh) | 一种使用存储在不同目录中的凭证来访问公共端点的方法 | |
US9202225B2 (en) | Aggregate monitoring of utilization data for vendor products in cloud networks | |
EP2817733B1 (en) | Identity provider discovery service using a publish-subscribe model | |
US10397213B2 (en) | Systems, methods, and software to provide access control in cloud computing environments | |
CN107800790A (zh) | 一种统一数据服务系统及方法 | |
US9426142B2 (en) | Systems and methods for logging into an application on a second domain from a first domain in a multi-tenant database system environment | |
CN110933187A (zh) | 基于区块链共识加密机制的物联网数据传输系统 | |
US20130086141A1 (en) | Systems and methods for security token management service hosted in application server | |
US10116642B2 (en) | Identity management over multiple identity providers | |
CN111861140A (zh) | 一种业务处理方法、装置、存储介质和电子装置 | |
CN104350719A (zh) | 联合数据服务装置和方法 | |
US10645087B2 (en) | Centralized authenticating abstraction layer with adaptive assembly line pathways | |
Oh et al. | Decentralized access permission control using resource-oriented architecture for the Web of Things | |
CN113568970A (zh) | 应用业务数据管理方法、装置、设备以及存储介质 | |
Montecchi et al. | Model-based evaluation of scalability and security tradeoffs: A case study on a multi-service platform | |
Yin et al. | JTangCSB: A cloud service bus for cloud and enterprise application integration | |
CN113992408B (zh) | 多系统统一登录信息处理方法及系统 | |
CN114338682A (zh) | 流量身份标识传递方法、装置、电子设备及存储介质 | |
CN114338684A (zh) | 一种能源管理系统及方法 | |
CN108076092A (zh) | Web服务器资源均衡方法及装置 | |
JP5732419B2 (ja) | 統合アクセス制御システム | |
CN111008888A (zh) | 基于主控服务的售电平台管理系统 | |
Zacharia et al. | iZen: secure federated service oriented architecture for the Internet of Things in the cloud | |
CN115914351A (zh) | 数据处理引擎系统及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180313 |