[发明专利]基于OSGI技术的可平行扩展的应用服务器有效
申请号: | 201410472651.0 | 申请日: | 2014-09-16 |
公开(公告)号: | CN105430030B | 公开(公告)日: | 2018-12-07 |
发明(设计)人: | 朱明;赵东 | 申请(专利权)人: | 钛马信息网络技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 上海容慧专利代理事务所(普通合伙) 31287 | 代理人: | 于晓菁 |
地址: | 200233 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 osgi 技术 平行 扩展 应用 服务器 | ||
1.一种基于OSGI技术的可平行扩展的应用服务器,其特征在于,所述应用服务器包括:
网络通信模块、协议转换模块、集群管理模块、模块化服务容器、监控管理模块;
1)网络通信模块用以实现应用服务器与终端设备的连接;
使用NIO网络API实现网络底层通信功能,能够处理大量的网络请求,基于通用的Tcp协议,能够处理来自各种终端的网络请求;使得本应用服务器拥有了能够处理大规模的网络请求的能力;应用服务器基于事件驱动模型设计,并通过管道来控制事件分发和传递;
2)协议转换模块用以实现客户端与服务器之间的协议转换;具体包括:业务请求消息单元、平台统一消息接口、ProtoBuffer协议单元、TCP协议单元;
业务请求消息单元用以发送业务请求消息;平台统一消息接口单元用以将消息转化为统一的格式;ProtoBuffer协议消息单元用以将消息按照ProtoBuffer协议的要求进行转化;TCP协议单元用以将消息按照TCP协议进行转化;
3)集群管理模块用以将分布式协调组件Zookeeper组件整合到应用服务器中,使得应用服务器拥有动态集群的能力;本应用服务器使用Zookeeper的特性,使得服务器在启动时能够自动地加入集群、停止时能够自动从集群脱离,能够无限扩展集群节点;使得本应用服务器拥有了基于集群的平行扩展能力;
实现方法:当每个服务器节点在启动时,会在zookeeper中创建两个存储节点ClusterA/members/N和/ClusterA/available/N,其中members/N将永久存在,表示集群中的节点,available/N将会根据网络中断或者集群节点服务停止shutdown指令时消失;它的消失将实时通过各个客户端的Watcher通知到集群客户端,同时当网络恢复时,节点将重新回到可用节点available列表中,这个机制能保证集群客户端的available列表中将总是可用的服务器集群节点;当网络断开时,所有集群客户端的监视器Watcher将收到某个节点脱离集群的事件,则这个节点将不再作用于集群;
4)模块化服务容器使所有来自网络通信模块的网络请求先进入线程池,待线程池中的任务执行时,请求会被分发到不同的业务服务处理器,业务服务处理器会从osgi容器中查找到对应的服务,来完成相关的业务处理;基于Osgi容器的特性,这些业务组件包bundle,在运行环境中动态地加载和移除;使得服务容器拥有灵活性,以及服务的热部署能力;
5)监控管理模块用以对业务模块进行监控;包括:
客户端请求调用分布式协调组件ZooKeeper集群,ZooKeeper集群检查业务模块的服务容器SP是否还在集群中,若在集群中,则返回业务模块服务容器SP访问接口给客户端;
客户端调用SP组件的方法被服务容器SP的业务方法拦截器捕获,拦截器进行如下操作:将方法调用计数器做加1操作,记录开始调用时间;
业务方法拦截器调用OSGI容器中的SP组件方法,方法返回结果或发送异常至所述业务方法拦截器;业务方法拦截器进行如下操作:计算处理时间;如果有错误,将错误次数做加1操作;如果当前最大处理时间和前一个最大处理时间变量进行比较,若当前最大处理时间更大,则将最大处理时间修改为当前最大处理时间;
指标采集开始需要获取业务模块SP组件的业务方法列表;通过监控模块从业务方法拦截器获取;监控模块是基于JMX开发的管理组件,运行在SP-Server中,用于汇总各种指标数据同时向指标采取器提供接口;监控模块向采集器提供:业务方法列表接口、指标获取接口、指标重置接口、业务组件控制接口;
循环每个业务方法条目,根据方法的标识发起指标获取请求,一个业务方法包含:处理次数、处理时间合计、最大一次处理事情、错误次数;
一次业务方法的指标采集完,调用重置接口,把上次所有指标清零;各项指标保存到时间序列数据库tsdb中后,表现为一定时间间隔的指标数值;采集程序通过控制接口,向ZooKeeper集群发送脱离SP组件指令,SP组件集群后,业务调用将不会分发给SP组件集群;
业务指标的分析及报警步骤;
信息展示步骤:有配置关系的支撑数据,展示在某时间点上,包括业务方法请求数量、集群规模、JVM的线程数量、JVM堆内存大小、服务器的会话数量、服务器连接数量、CPU利用率、内存使用率、进程数量、网络带宽情况;通过综合环境参数的展示运维人员准确及时的协调资源,满足系统峰值需求;同时在系统闲时削减资源,节约运营成本;
其中,业务指标的分析及报警步骤具体包括:
步骤S81、提取各报警对象的的报警指标,包括集群本身的指标、集群各类型节点的指标、JVM的指标;
步骤S82、根据集群-服务器关系提取各集群的成员服务器;
步骤S83、循环各集群服务器,从时间序列数据库tsdb中获取各指标的值;
步骤S84、对每项指标逐一检查配置的报警阀值;
步骤S85、报警分为两种:中断性报警,tsdb中没有取出记录;指标超阀值类报警,超出了报警阀值的范围;
步骤S86、报警成员的提取:Sp集群的报警根据主机、集群、渠道提取相关的报警组成员;Hadoop、Hbase、Mysql、Zookeeper集群提取集群和主机管理员;
步骤S87、报警的重复提醒问题:如果10分钟后没有人处理继续产生同样的报警信息;
步骤S88、获取报警的邮件发送列表,发送报警邮件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于钛马信息网络技术有限公司,未经钛马信息网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410472651.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种拼车信息传递方法及装置
- 下一篇:基于载荷相邻概率模型的加密流量识别方法