基于混合存储的SaaS网络管理系统数据管理框架的制作方法

文档序号:11254110阅读:827来源:国知局
基于混合存储的SaaS网络管理系统数据管理框架的制造方法与工艺

本发明属于云计算技术领域,具体涉及一种基于混合存储的saas网络管理系统数据管理框架。



背景技术:

基于saas模式的网络管理系统为中小企业提供网络运维服务,对于提高网络服务质量,降低信息部门的成本具有重要的实际意义。然而,当前saas模式的网络管理系统的研究还不够成熟,并且随着租户数量的增多,运维数据规模将达到海量级别,现有的基于关系型数据库的数据层解决方案的存储容量、可定制性和性能方面已经不能满足多租户的要求,因此迫切需要一种更好的方案来实现saas多租户网管系统的数据层。



技术实现要素:

本发明的目的在于提供一种基于混合存储的saas网络管理系统数据管理框架,解决了现有saas多租户网管系统数据存储容量有限,无法满足租户要求的问题。

本发明所采用的技术方案是,基于混合存储的saas网络管理系统数据管理框架,包括有四个层次,分别如下:

租户和采集层;

saas网管系统应用中心层;

数据访问接口层;

数据库层。

本发明的特点还在于:

租户和采集层:包括有租户端的网管用户和代理程序;租户使用浏览器访问网管系统;代理程序安装在租赁单位的某台工作站上,负责实时采集所需的网络数据,并送至应用中心。

采集器采用java进行开发实现。

saas网管系统应用中心层:通过负载均衡处理,将来自于租户的请求路由到应用服务器集群中负载较低的服务器上进行业务处理。

数据访问接口层:为上层应用访问数据库提供接口,包括有数据放置选择组件、数据访问控制组件、数据模式映射组件和数据弹性组件。

数据弹性组件通过评估当前所有数据库实例的负载,并考虑数据保留策略,添加或移除额外的数据库实例和重新布局租户数据;所述数据弹性组件根据当前数据布局信息和负载监控信息,判断是否超出预设的阈值范围,从而生成数据布局调整策略,应用于数据库节点。

数据库层:为系统提供数据的持久化存储,由mysql和mongodb两种数据库组成;

将多租户信息和被管网元的元数据存储在关系型的mysql数据库中,将大量的设备性能数据存储在非关系型的mongodb数据库中,以实现被管网元元数据和历史性能数据的分离。

本发明的有益效果在于:

(1)本发明基于混合存储的saas网络管理系统数据管理框架,针对saas模式下网络管理系统的数据存储问题,采用mysql+mongodb的混合存储架构,能有效解决海量运维数据的存储问题、可定制性问题和性能问题;

(2)本发明基于混合存储的saas网络管理系统数据管理框架实际提供了一个灵活的、可伸缩的存储架构,能有效避免传统方式使用关系型数据库处理海量数据时,出现无法大规模弹性扩展、高并发读写效率低下以及不善于处理租户定制化数据等问题。

附图说明

图1是本发明基于混合存储的saas网络管理系统数据管理框架的结构示意图;

图2是本发明基于混合存储的saas网络管理系统数据管理框架中数据访问接口层内弹性组件的结构示意图;

图3是本发明基于混合存储的saas网络管理系统数据管理框架中海量运维数据的存储架构结构示意图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明基于混合存储的saas网络管理系统数据管理框架,如图1所示,包括有四个层次,分别如下:

租户和采集层:包括有租户端的网管用户和代理程序;租户使用浏览器访问网管系统;代理程序安装在租赁单位的某台工作站上(将采集器安装于租赁单位的某台工作站上),负责实时采集所需的网络数据,并送至应用中心;其中的采集器采用java进行开发实现。

saas网管系统应用中心层:通过负载均衡处理,将来自于租户的请求路由到应用服务器集群中负载较低的服务器上进行业务处理,是整个框架的核心与主体,这里基于webservice组件的方式来进行开发实现。

数据访问接口层:为上层应用访问数据库提供接口,包括有数据放置选择组件、数据访问控制组件、数据模式映射组件和数据弹性组件;

其中,数据放置选择组件、数据访问控制组件和数据模式映射组件可采用已有的研究成果实现,其重点设计在于数据弹性组件;

数据弹性组件,如图2所示,其主要功能是:按需分配数据库实例数量(水平扩展),从而获取存储资源的高可伸缩性;通过评估当前所有数据库实例的负载,并考虑数据保留策略等约束,添加或移除额外的数据库实例和重新布局租户数据;数据弹性组件根据当前数据布局信息和负载监控信息,判断是否超出预设的阈值范围,从而生成数据布局调整策略,应用于数据库节点;数据弹性组件应该作为一个独立运行的进程实现,不影响主应用的性能。

数据库层:为系统提供数据的持久化存储,由mysql和mongodb两种数据库组成。

本发明基于混合存储的saas网络管理系统数据管理框架中各层的具体介绍:

(1)租户和采集层的采集器在采集数据时,主要通过snmp(简单网络管理协议)的操作原语,采用轮询方式采集被管网络设备上的各种mib数据;另外,代理程序也通过自陷方式接收网络设备的故障报警;在对网络进行控制时,代理程序也可执行写操作;代理程序由java开发环境结合相应snmp组件来进行开发。

(2)saas网管系统应用中心层为每一个租赁单位分配唯一的单位id、唯一的单位管理员账号和单位所拥有的saas网管系统功能权限;然后,单位管理员就能为本单位的用户创建账户,并分配权限;每个租赁单位的基本信息通过元数据服务模块存储在租赁单位元数据表群,每个用户的账户信息通过目录服务模块存储在用户账户表群;单位管理员通过web服务器的定制服务模块配置软件元数据信息,实现本单位网管系统的网页外观、图表形式、数据结构和安全策略的个性化定制;元数据配置信息通过元数据服务模块存储在租赁单位元数据表群中;当用户通过internet访问saas网管系统时,用户都会被标记上他们所属单位的id,元数据服务模块与目录服务模块会根据单位id和使用人账号对访问者进行认证与授权,结合租赁单位元数据配置信息,调用被授权的系统功能;所有网络数据存储在网络管理数据表群。

(3)数据访问接口层中各组件的功能分别如下:

数据放置选择组件的主要功能是:选择合适的数据库实例存放租户数据并能高效检索租户数据;

数据访问控制组件的主要功能是:验证当前用户是否有权限读取或者修改所要访问的数据;

数据模式映射组件的主要功能是:将隔离的单租户逻辑数据存储形式映射到共享的多租户物理存储结构中;

数据弹性组件的主要功能是:基于当前数据库的负载情况并考虑数据保留策略等约束,添加或者移除数据库实例和重新布局租户数据,实现存储资源的高可伸缩性。

(4)数据库层中的mysql数据库主要存储数据量不大、涉及多表联合查询和对事务有要求的数据,包括有系统管理数据(用户管理、租户管理、角色和权限管理、租户订单管理等)和网管部分业务(资源管理、性能管理中的任务管理)数据;另外,还包含一个共享的数据库实例,这个实例存储所有租户的配置信息,如:租户指定的配置参数、计费信息和数据保留策略等,和每个租户的当前数据分配映射信息;mongodb数据库用来存储数据量大、结构简单的数据,包括有性能数据(端口流量数据和cpu内存使用率数据等)以及告警数据,实现被管网元元数据和历史性能数据的分离。

本发明基于混合存储的saas网络管理系统数据管理框架中海量运维数据的存储架构,如图3所示,将多租户信息和被管网元的元数据等存储在关系型的mysql数据库中,将大量的设备性能数据存储在非关系型的mongodb数据库中,实现了被管网元元数据和历史性能数据的分离。由于租户在地理位置上并非集中在一片区域,因此针对大数据量的性能数据采用分层的策略,将同一个地区的租户性能数据存储在本地区的数据库中,最后通过数据订阅的形式由数据存储服务存储到saas网管系统的mongodb集群中。在mongodb集群中采用副本集和分片技术,设计合理的shardingkey,能实现整个mongodb集群的均匀分布存储和负载均衡。

数据存储服务,包含数据缓冲区、高速并发写入和监控器三个组件。数据缓冲区缓存发送过来的数据,当缓冲区内的数据量达到一定的阈值时,批量写入mongodb集群中。采用数据批量写入将大大提高mongodb集群的写入性能。mongodb支持高速并发写入,在高速并发写入组件中采用线程池技术多线程并发写入数据,提高存储系统的写入性能。监控器主要用来对数据的写入速度和缓冲区中的数据总量进行实时监控,当出现写入异常时,监控器通知写入主线程进行休眠,减少或暂停数据写入。

本发明基于混合存储的saas网络管理系统数据管理框架,针对saas模式下网络管理系统的数据存储问题,采用mysql+mongodb的混合存储架构,有效解决了海量运维数据的存储问题、可定制性问题和性能问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1