CN109067558A - 数据服务方法及*** - Google Patents
数据服务方法及*** Download PDFInfo
- Publication number
- CN109067558A CN109067558A CN201810594758.0A CN201810594758A CN109067558A CN 109067558 A CN109067558 A CN 109067558A CN 201810594758 A CN201810594758 A CN 201810594758A CN 109067558 A CN109067558 A CN 109067558A
- Authority
- CN
- China
- Prior art keywords
- service
- data
- configuration
- service instance
- data source
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种数据服务方法及***,包括:通过配置管理服务设置至少一个数据源配置;通过服务实例接收数据服务请求;如果配置参数列表中包含所述数据服务请求中的数据源配置,所述服务实例根据所述数据源配置完成数据服务;如果所述配置参数列表中不包含所述数据服务请求中的数据源配置,所述服务实例通过所述配置管理服务获取数据源配置,保存所述数据源配置到所述配置参数列表,所述服务实例根据所述数据源配置完成数据服务。所述服务实例随机或按一定规则通过所述配置管理服务检测更新数据源配置。本发明通过配置提供统一接口的数据服务,使***的开发和维护的工作量大为降低。
Description
技术领域
本发明涉及一种数据服务方法及***,属于数据库服务领域。
背景技术
在传统的业务***中,通常都要根据业务需求完成设计,编码,测试等步骤才能对外提供服务。当有新增需求出现时,需要重复上面的步骤,带来了众多重复工作量。如果再考虑***高可用、高并发的***性能,***建设后期的维护工作也会急剧增加。例如,某***对外提供用户信用信息查询、ip风险的查询和借贷信息的写入,在实现过程中,3个需求涉及的数据源、业务逻辑没有关联,因此需要开发和维护完整的3套程序对外提供服务。随着业务的增加,所带来的工作量也会同步增加,阻碍了数据接口服务的拓展和对外的服务能力。因此,现有的数据服务方法及***在***开发阶段、后期***维护阶段都需要较多工作量。
发明内容
为了缓解现有技术存在的不足,本发明的目的在于提供一种数据服务方法及***,通过配置提供统一接口的数据服务,使***的开发和维护的工作量大为降低。
第一方面,本发明提供了一种数据服务方法,包括:通过配置管理服务设置至少一个数据源配置;通过服务实例接收数据服务请求;如果配置参数列表中包含数据服务请求中的数据源配置,服务实例根据数据源配置完成数据服务;如果配置参数列表中不包含数据服务请求中的数据源配置,服务实例通过配置管理服务获取数据源配置,保存数据源配置到配置参数列表,服务实例根据数据源配置完成数据服务。
进一步地,通过服务实例接收数据服务请求之前,还包括:通过网关实例接收数据服务请求;网关实例获取服务实例列表;网关实例根据轮询和/或随机策略从服务实例列表中选取一个服务实例;网关实例发送数据服务请求到服务实例。
进一步地,注册中心动态维护服务实例列表,根据服务实例状态更新服务实例列表。
进一步地,服务实例随机或按一定规则向配置管理服务发送检测信息,以获取数据源配置的更新,保存数据源配置的更新到配置参数列表。
进一步地,数据服务请求使用统一的接口形式。
第二方面,本发明还提供了一种数据服务***,包括:配置管理模块,包括至少一个配置管理服务,在配置管理服务设置至少一个数据源配置;数据服务模块,包括至少一个服务实例,接收数据服务请求,如果配置参数列表中包含数据服务请求中的数据源配置,服务实例根据数据源配置完成数据服务;如果配置参数列表中不包含数据服务请求中的数据源配置,服务实例通过配置管理模块获取数据源配置,保存数据源配置到配置参数列表,服务实例根据数据源配置完成数据服务;服务实例随机或按一定规则向配置管理服务发送检测信息,以获取数据源配置的更新,保存数据源配置的更新到配置参数列表。
进一步地,还包括网关模块,包括至少一个网关实例,网关实例接收数据服务请求;网关实例获取服务实例列表;网关实例根据轮询和/或随机策略从服务实例列表中选取一个服务实例;网关实例发送数据服务请求到服务实例。
进一步地,还包括注册中心模块,包括至少一个注册中心,注册中心动态维护服务实例列表,根据服务实例状态更新服务实例列表。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一种实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例的一种数据服务方法流程图;
图2是本发明第二实施例的一种数据服务***的结构示意图;
图3是本发明第二实施例的一种数据服务***的工作示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
实施例一:
图1是本发明第一实施例的一种数据服务方法流程图,如图1所示,该方法包括如下三个步骤。
步骤S101:网关实例接收数据服务请求,选择服务实例,并发送数据服务请求。具体而言,通过网关实例接收数据服务请求,数据服务请求使用统一的接口形式,网关实例获取服务实例列表,网关实例根据轮询和/或随机策略从服务实例列表中选取一个服务实例,网关实例发送数据服务请求到服务实例。可选地,注册中心动态维护服务实例列表,根据服务实例状态更新服务实例列表。
在一个可选的实施例中,网关实例采用Zuul组件实现,以实现身份认证、负载分配。数据服务请求使用URL实现,请求中的各个字段使用统一的形式。例如数据服务是根据电话号码查询用户身份证,贷款金额信息,就可以使用如下的URL和参数实现。
http://192.168.1.100:8080/mysql/query/person-info,
参数示例:
需要进行说明的是,具体使用数据服务请求时,只需要将上面的phone对应的值改为具体要查询的电话号码,即可进行具体的数据查询。除了查询之外,数据服务的新增、修改、删除也同样使用相同的接口形式和数据源配置方式。
其后,网关实例获取服务实例列表,根据zuul组件的负载分配策略,网关实例根据轮询和/或随机策略从服务实例列表中选取一个服务实例,网关实例发送数据服务请求到服务实例。
需要进行说明的是,数据服务请求经过网关实例实现了身份认证和负载分配。在可选的实施例中,数据服务请求也可以不经过网关实例,直接发送到数据服务实例。
在另一个可选的实施例中,注册中心动态维护服务实例列表,根据服务实例状态更新服务实例列表。注册中心为其它服务提供服务发现服务,例如使用eureka组件实现。
步骤S102:服务实例根据数据服务请求的数据源配置,进行数据服务。具体而言,通过配置管理服务设置至少一个数据源配置;通过服务实例接收数据服务请求;如果配置参数列表中包含数据服务请求中的数据源配置,服务实例根据数据源配置完成数据服务;如果配置参数列表中不包含数据服务请求中的数据源配置,服务实例通过配置管理服务获取数据源配置,保存数据源配置到配置参数列表,服务实例根据数据源配置完成数据服务。
在一个可选的实施例中,***管理员通过配置管理服务将数据源配置写入到数据库,形成一个数据服务接口,并将该接口的地址、参数等信息发布给用户。以下是根据电话号码查询用户身份证,贷款金额信息的数据源配置信息。
所有的工作从开发到上线即完成,一般在5到10分钟即可交付工作,比起现有技术的编码测试上线流程(通常也会需要多个工作日),极大地提高了工作效率。
用户发送的数据服务请求经过网关实例,被传送到服务实例。在一个可选的实施例中,服务实例由mysql服务实例或hbase服务实例实现。服务实例会判断配置参数列表中的数据源配置情况,如果配置参数列表中包含数据服务请求中的数据源配置,服务实例会完成相关的数据源操作,然后返回结果给用户。如果配置参数列表中不包含数据服务请求中的数据源配置,服务实例通过配置管理服务获取数据源配置,保存数据源配置到配置参数列表,服务实例再完成相关的数据源操作,然后返回结果给用户。
需要进行说明的是,服务实例可以是关系型数据库(如mysql)、非关系型数据库(如hbase)或数据中间件(如kafaka)。
步骤S103:服务实例根据配置管理服务,更新配置参数列表。具体而言,服务实例随机或按一定规则向配置管理服务发送检测信息,以获取数据源配置的更新,保存数据源配置的更新到配置参数列表。
在一个可选的实施例中,服务实例启动后,会根据配置参数列表信息随机或按一定规则向配置管理服务发送检测信息,例如每30秒进行一次心跳检测访问。当***业务发生变更的时候,管理员会将数据服务接口相关的数据源配置更新到数据库,数据源配置对应的信息版本自动加1。心跳检测访问过程中会获取对应该服务实例维护的所有数据源配置信息,如果发现数据源配置信息版本发生变化,则立刻更新配置参数列表的数据。这样,当用户发送新的数据服务请求时,就可以根据新版本的数据源配置信息进行操作,也就在不修改软件代码的情况下短时间内完成了***动态升级。
例如,当业务需求发生了变化,除了用户身份证、贷款金额信息之外,还需要获取用户的地址信息。***管理员只需将表中的配置SQL字段修改为select idcard,loanamount,address from db_loan where phone=:phone即可,***同时也会自动将版版号有1变为2,30秒种之内(一次心跳检测的时间间隔),升级就会自动完成。用户再次进行数据服务请求的时候,即可获取用户身份证、贷款金额信息和地址信息。这里同样无需开发测试上线等工作,在线动态即可完成接口升级。
实施例二:
本发明实施例还提供了一种数据服务***,该***主要用于执行本发明实施例上述内容所提供的数据服务方法,以下对本发明实施例提供的数据服务***做具体介绍。
图2是本发明第二实施例的一种数据服务***的结构示意图。如图2所示,该***包括:
配置管理模块80,包括至少一个配置管理服务(如图2中admin1),在配置管理服务设置至少一个数据源配置;
数据服务模块50,包括至少一个服务实例(如图2中mysql1或hbase1),接收数据服务请求,如果配置参数列表中包含数据服务请求中的数据源配置,服务实例根据数据源配置完成数据服务;如果配置参数列表中不包含数据服务请求中的数据源配置,服务实例通过配置管理模块获取数据源配置,保存数据源配置到配置参数列表,服务实例根据数据源配置完成数据服务;服务实例随机或按一定规则向配置管理服务发送检测信息,以获取数据源配置的更新,保存数据源配置的更新到配置参数列表。
在一个可选的实施例中,管理员通过配置管理模块80完成数据源配置初始化;数据服务模块50与配置管理模块80随机或按一定规则进行交互,例如通过心跳检测获取数据源配置,完成服务的动态升级。
在一个可选的实施例中,如图2所示,数据服务模块50由mysql服务集群20、hbase服务集群30和其它服务集群40组成。
可选地,***还包括网关模块10,包括至少一个网关实例,网关实例接收数据服务请求;网关实例获取服务实例列表;网关实例根据轮询和/或随机策略从服务实例列表中选取一个服务实例;网关实例发送数据服务请求到服务实例。
可选地,***还包括注册中心模块90,包括至少一个注册中心,注册中心动态维护服务实例列表,根据服务实例状态更新服务实例列表。
图3是本发明第二实施例的一种数据服务***的工作示意图。如图3所示,数据服务请求首先发往网关实例11,网关实例11从注册中心91处获取服务实例列表;网关实例根据轮询和/或随机策略从服务实例列表中选取一个服务实例;网关实例发送数据服务请求到服务实例51。
服务实例51判断配置参数列表中是否包含数据服务请求中的数据源配置。如果包含,服务实例51根据数据源配置访问数据源61完成数据服务;如果不包含,服务实例51通过配置管理服务81获取数据源配置,保存数据源配置到配置参数列表,服务实例51根据数据源配置完成数据服务。
服务实例51随机或按一定规则向配置管理服务61发送检测信息,例如心跳检测以获取数据源配置的更新,保存数据源配置的更新到配置参数列表。
Claims (8)
1.一种数据服务方法,其特征在于,包括:
通过配置管理服务设置至少一个数据源配置;
通过服务实例接收数据服务请求;
如果配置参数列表中包含所述数据服务请求中的数据源配置,所述服务实例根据所述数据源配置完成数据服务;
如果所述配置参数列表中不包含所述数据服务请求中的数据源配置,所述服务实例通过所述配置管理服务获取数据源配置,保存所述数据源配置到所述配置参数列表,所述服务实例根据所述数据源配置完成数据服务。
2.根据权利要求1所述的方法,其特征在于,所述的通过服务实例接收数据服务请求之前,还包括:
通过网关实例接收所述数据服务请求;
所述网关实例获取所述服务实例列表;
所述网关实例根据轮询和/或随机策略从所述服务实例列表中选取一个服务实例;
所述网关实例发送数据服务请求到所述服务实例。
3.根据权利要求2所述的方法,其特征在于,所述的服务实例列表,还包括:注册中心动态维护所述服务实例列表,根据所述服务实例状态更新所述服务实例列表。
4.根据权利要求1所述的方法,其特征在于,包括:
所述服务实例随机或按一定规则向所述配置管理服务发送检测信息,以获取所述数据源配置的更新,保存所述数据源配置的更新到所述配置参数列表。
5.根据权利要求1至4任一项所述的方法,其特征在于,包括:所述数据服务请求使用统一的接口形式。
6.一种数据服务***,其特征在于,包括:
配置管理模块,包括至少一个配置管理服务,在所述配置管理服务设置至少一个数据源配置;
数据服务模块,包括至少一个服务实例,接收所述数据服务请求,如果所述配置参数列表中包含所述数据服务请求中的数据源配置,所述服务实例根据所述数据源配置完成数据服务;如果所述配置参数列表中不包含所述数据服务请求中的数据源配置,所述服务实例通过配置管理模块获取数据源配置,保存所述数据源配置到所述配置参数列表,所述服务实例根据所述数据源配置完成数据服务;所述服务实例随机或按一定规则向所述配置管理服务发送检测信息,以获取所述数据源配置的更新,保存所述数据源配置的更新到所述配置参数列表。
7.根据权利要求6所述的***,其特征在于,还包括:
网关模块,包括至少一个网关实例,所述网关实例接收所述数据服务请求;所述网关实例获取所述服务实例列表;所述网关实例根据轮询和/或随机策略从所述服务实例列表中选取一个服务实例;所述网关实例发送数据服务请求到所述服务实例。
8.根据权利要求6所述的***,其特征在于,还包括:
注册中心模块,包括至少一个注册中心,所述注册中心动态维护所述服务实例列表,根据所述服务实例状态更新所述服务实例列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810594758.0A CN109067558A (zh) | 2018-06-11 | 2018-06-11 | 数据服务方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810594758.0A CN109067558A (zh) | 2018-06-11 | 2018-06-11 | 数据服务方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109067558A true CN109067558A (zh) | 2018-12-21 |
Family
ID=64820123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810594758.0A Pending CN109067558A (zh) | 2018-06-11 | 2018-06-11 | 数据服务方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067558A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113257A (zh) * | 2019-05-14 | 2019-08-09 | 北京京投亿雅捷交通科技有限公司 | 一种基于大数据的统一数据接入网关及实现方法 |
CN111698324A (zh) * | 2020-06-12 | 2020-09-22 | 北京奇艺世纪科技有限公司 | 一种数据请求方法、装置及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081661A (zh) * | 2011-01-19 | 2011-06-01 | 吉林大学 | 基于xml的异构关系型数据库的数据集成方法和*** |
CN102629929A (zh) * | 2012-04-18 | 2012-08-08 | 华为技术有限公司 | 一种获取数据的方法、***及装置 |
CN103390052A (zh) * | 2013-07-25 | 2013-11-13 | 上海软智信息科技有限公司 | 一种数据处理方法及装置 |
US20160092810A1 (en) * | 2014-09-30 | 2016-03-31 | Swarnava Chatterjee | Multi-dimensional target setting application |
-
2018
- 2018-06-11 CN CN201810594758.0A patent/CN109067558A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081661A (zh) * | 2011-01-19 | 2011-06-01 | 吉林大学 | 基于xml的异构关系型数据库的数据集成方法和*** |
CN102629929A (zh) * | 2012-04-18 | 2012-08-08 | 华为技术有限公司 | 一种获取数据的方法、***及装置 |
CN103390052A (zh) * | 2013-07-25 | 2013-11-13 | 上海软智信息科技有限公司 | 一种数据处理方法及装置 |
US20160092810A1 (en) * | 2014-09-30 | 2016-03-31 | Swarnava Chatterjee | Multi-dimensional target setting application |
Non-Patent Citations (1)
Title |
---|
王天成: "数据集成平台中数据服务管理组件的实现", 《中国优秀硕士学位论文全文数据库 》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113257A (zh) * | 2019-05-14 | 2019-08-09 | 北京京投亿雅捷交通科技有限公司 | 一种基于大数据的统一数据接入网关及实现方法 |
CN110113257B (zh) * | 2019-05-14 | 2021-06-08 | 北京京投亿雅捷交通科技有限公司 | 一种基于大数据的统一数据接入网关及实现方法 |
CN111698324A (zh) * | 2020-06-12 | 2020-09-22 | 北京奇艺世纪科技有限公司 | 一种数据请求方法、装置及*** |
CN111698324B (zh) * | 2020-06-12 | 2022-12-06 | 北京奇艺世纪科技有限公司 | 一种数据请求方法、装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218079B (zh) | 一种区块链网络、部署方法及存储介质 | |
CN109325854B (zh) | 区块链网络、部署方法及存储介质 | |
AU2009210699B2 (en) | Managing component programs within a service application | |
CN109542611A (zh) | 数据库即服务***、数据库调度方法、设备及存储介质 | |
CN111240763A (zh) | 配置更新方法、装置、设备及存储介质 | |
CN105518648A (zh) | 经由节点-关系模型向客户提供资源 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN103793485A (zh) | 客户端基于缓存数据实现查询网络数据的方法 | |
CN111970337B (zh) | 跨云环境下的p2p网络通信构建方法、***、介质及终端 | |
CN108599971A (zh) | 配置信息处理方法、***、计算机设备和存储介质 | |
CN105208090A (zh) | 一种基于Zookeeper实现Leader选举的方法 | |
CN112650812A (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN105490843A (zh) | 一种信息处理方法及*** | |
CN107395385A (zh) | 软件升级方法及装置 | |
CN109067558A (zh) | 数据服务方法及*** | |
CN102594798A (zh) | 一种连接数据库的代理方法及*** | |
CN105653334A (zh) | 一种基于saas模式的mis***快速开发框架 | |
CN109104472B (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
CN111461718A (zh) | 区块链节点的接入方法、装置及*** | |
CN110826993A (zh) | 项目管理处理方法、装置、存储介质和处理器 | |
CN106936643B (zh) | 一种设备联动方法以及终端设备 | |
CN109951529B (zh) | 一种资源管理方法和装置 | |
CN108696550A (zh) | 快速构建和复制云的***和方法 | |
CN112231405A (zh) | 数据存储装置 | |
CN105187244A (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: 20181221 |