一种支持数据分区的服务连接方法及系统的制作方法_2

文档序号:9436130阅读:来源:国知局
行结果给前台 展示层。
[0053] 所述连接模块3包括解析模块3-1和获取建立模块3-2;
[0054] 所述解析模块3-1,用于解析请求参数,得到请求访问的分区的分区代码;
[0055] 所述获取建立模块3-2,用于从预设的中间件服务配置文件中获取与服务请求对 应的数据库标签及数据库连接参数,根据数据库标签、数据库连接参数和分区代码建立对 应分区的数据库连接。
[0056] 所述连接模块3还包括:调用模块3-3,用于使中间件层调用分区数据库中与请求 参数对应的业务模块,并向业务模块中传入请求参数及数据库连接参数。
[0057] 所述连接模块3还包括:封装模块3-4,用于使所述中间件层将分区数据库返回的 执行结果进行封装。
[0058] 所述解析模块3-1进一步用于:如果请求参数中包含分区代码,则使用该包含的 分区代码;否则,从预设的中间件服务配置文件中获取默认的分区代码。
[0059] "前台展示层"接入任意一个服务分发层,服务分发层则通过每一个从前台展示层 发送的服务请求中的数据,计算请求需要访问的分区,把分区代号加入请求参数中,根据负 载均衡策略转发给中间件服务,中间件则根据传入参数中的分区代码连接指定的分区数据 库,并执行要求的业务代码,然后原路返回执行结果。
[0060] 在中间件系统中,业务模块是实际处理业务逻辑的部分,其不参与数据库分区的 选择,而只是使用中间件框架提供的数据库连接,这样的设计使得可以使用统一的框架层 来进行分区选择。
[0061] 中间件框架层选择分区并建立数据库连接的过程如下:
[0062] 1.解析服务请求中的输入参数;
[0063] 2.检测服务输入参数中是否包含了分区代码,如果包含,则使用传入的分区代码, 如果未包含,则使用SvcConfig中的默认分区代码;
[0064] 3.从SvcConfig中取出本服务名称对应的数据库标签加上上一步骤取得的分区 代码,再从SvcConfig中取出对应的数据库连接参数,并建立对应分区的数据库连接;
[0065] 4.调用对应的业务模块,并传入对应的分区数据库连接以及服务入参,等待执行 结果;
[0066] 5.把业务模块返回数据封装并返回给调用者。
[0067] 注:SvcConfig(中间件服务配置)是以文件形式保存在服务器磁盘中的配置信 息,包含服务与数据库标签的对应;默认分区代码;全部可用数据库的具体连接参数与数 据库标签加分区代码的对应。
[0068] 在入参中定义如下的报文格式以传输分区代码:
[0069]
[0070] ①入参数据的根节点,标识起始位置;
[0071] ②HEADER节点中包含的数据,是给中间层转发服务请求使用的;
[0072] ③DB_ID是用于分区路由的分区代码;
[0073] ④BODY中包含的数据为业务参数,与具体业务相关。
[0074] 本发明应用于在传统的软件中间件技术的IT系统中,在把中间件部署为集群模 式时,为支持以下的中间件集群特性提供支持:
[0075] 1?各节点部署一致,包括应用程序和配置;
[0076] 2.集群节点支持服务请求的负载均衡;
[0077] 3.各节点可相互替换;
[0078] 4?后端数据库为分区(水平切分数据模式)存储。
[0079] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种支持数据分区的服务连接方法,其特征在于,包括以下步骤: 前台展示层向任一服务分发层发送服务请求; 服务分发层根据服务请求计算请求访问的分区的分区代码,把分区代码加入请求参数 中,将请求参数根据负载均衡策略转发给中间件层; 中间件层根据请求参数中的分区代码连接分区代码指定的分区数据库; 分区数据库执行其内部的业务代码,并返回执行结果给前台展示层。2. 根据权利要求1所述的支持数据分区的服务连接方法,其特征在于,所述中间件层 根据请求参数中的分区代码连接分区代码指定的分区数据库具体为: 解析请求参数,得到请求访问的分区的分区代码; 从预设的中间件服务配置文件中获取与服务请求对应的数据库标签及数据库连接参 数,根据数据库标签、数据库连接参数和分区代码建立对应分区的数据库连接。3. 根据权利要求2所述的支持数据分区的服务连接方法,其特征在于,所述中间件层 根据请求参数中的分区代码连接分区代码指定的分区数据库中还包括:中间件层调用分区 数据库中与请求参数对应的业务模块,并向业务模块中传入请求参数及数据库连接参数。4. 根据权利要求3所述的支持数据分区的服务连接方法,其特征在于,所述中间件层 根据请求参数中的分区代码连接分区代码指定的分区数据库中还包括:所述中间件层将分 区数据库返回的执行结果进行封装。5. 根据权利要求2至4任一所述的支持数据分区的服务连接方法,其特征在于,所述解 析请求参数,得到请求访问的分区的分区代码进一步为:如果请求参数中包含分区代码,则 使用该包含的分区代码;否则,从预设的中间件服务配置文件中获取默认的分区代码。6. -种支持数据分区的服务连接系统,其特征在于,包括发送模块(1)、计算模块(2)、 连接模块(3)和执行模块(4); 所述发送模块(1),用于使前台展示层向任一服务分发层发送服务请求; 所述计算模块(2),用于使服务分发层根据服务请求计算请求访问的分区的分区代码, 把分区代码加入请求参数中,将请求参数根据负载均衡策略转发给中间件层; 所述连接模块(3),用于使中间件层根据请求参数中的分区代码连接分区代码指定的 分区数据库; 所述执行模块(4),用于分区数据库执行其内部的业务代码,并返回执行结果给前台展 示层。7. 根据权利要求6所述的支持数据分区的服务连接系统,其特征在于,所述连接模块 (3)包括解析模块(3-1)和获取建立模块(3-2); 所述解析模块(3-1),用于解析请求参数,得到请求访问的分区的分区代码; 所述获取建立模块(3-2),用于从预设的中间件服务配置文件中获取与服务请求对应 的数据库标签及数据库连接参数,根据数据库标签、数据库连接参数和分区代码建立对应 分区的数据库连接。8. 根据权利要求7所述的支持数据分区的服务连接系统,其特征在于,所述连接模块 (3)还包括:调用模块(3-3),用于使中间件层调用分区数据库中与请求参数对应的业务模 块,并向业务模块中传入请求参数及数据库连接参数。9. 根据权利要求8所述的支持数据分区的服务连接系统,其特征在于,所述连接模块 (3)还包括:封装模块(3-4),用于使所述中间件层将分区数据库返回的执行结果进行封 装。10.根据权利要求7至9任一所述的支持数据分区的服务连接系统,其特征在于,所述 解析模块(3-1)进一步用于:如果请求参数中包含分区代码,则使用该包含的分区代码;否 贝IJ,从预设的中间件服务配置文件中获取默认的分区代码。
【专利摘要】本发明涉及一种支持数据分区的服务连接方法及系统,包括以下步骤:前台展示层向任一服务分发层发送服务请求;服务分发层根据服务请求计算请求访问的分区的分区代码,把分区代码加入请求参数中,将请求参数根据负载均衡策略转发给中间件层;中间件层根据请求参数中的分区代码连接分区代码指定的分区数据库;分区数据库执行其内部的业务代码,并返回执行结果给前台展示层。本发明实现了集群节点可以相互替换,以及进行负载均衡分发请求;集群中可以在线删除或增加节点,对于计算能力的平滑扩展提供支持;为电信运营商业务支撑系统向低成本建设过渡提供支持。
【IPC分类】H04L29/08
【公开号】CN105187503
【申请号】CN201510485016
【发明人】官元峰
【申请人】北京思特奇信息技术股份有限公司
【公开日】2015年12月23日
【申请日】2015年8月7日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1