手机阅读业务内容管理系统统一门户的设计方案
2016-09-12伍振兴北京邮电大学网络与交换技术国家重点实验室杭州东信北邮信息技术有限公司李北京邮电大学网络与交换技术国家重点实验室杭州东信北邮信息技术有限公司
伍振兴 北京邮电大学网络与交换技术国家重点实验室,杭州东信北邮信息技术有限公司李 炜 北京邮电大学网络与交换技术国家重点实验室,杭州东信北邮信息技术有限公司
产品与技术方案
手机阅读业务内容管理系统统一门户的设计方案
伍振兴北京邮电大学网络与交换技术国家重点实验室,杭州东信北邮信息技术有限公司
李炜北京邮电大学网络与交换技术国家重点实验室,杭州东信北邮信息技术有限公司
手机阅读业务是中国移动手机阅读基地向用户提供的以在线和下载为主要阅读方式的自有增值业务。而业务内容管理系统(Content Manage Unit,CMU)是手机阅读业务的管理系统。随着时间的推移,CMU系统的两个子系统变得越来越庞大,使得在原来基础上进行维护和开发变得越来越困难。因此在对CMU系统进行重构时,采用了微服务架构,将整个系统拆分为几个特定的业务子系统,子系统之间相互独立。但是拆分之后,需要提供给用户一个访问CMU系统的整体入口,也就是CMU系统的统一门户。本文针对重构后CMU系统做了深入的探讨和研究,寻找一个重构后CMU系统统一门户的解决方案。
手机阅读;内容管理系统;统一门户
1 引言
手机阅读业务是中国移动手机阅读基地向用户提供的以在线和下载为主要阅读方式的自有增值业务,以移动终端为主要载体,提供图书、漫画、杂志、听书、手机报等多种形式的媒体内容,向用户提供海量图书内容服务,让人享受随身随地阅读的乐趣。目前,手机阅读累计用户数达4亿,月访问用户数达1.6亿,日均页面浏览量达6.5亿。
作为手机阅读业务运作的管理中枢—业务内容管理系统(Content Manage Unit,CMU),为业务提供内容、运营、互动、推荐、配置等全方位的管理。CMU主要面向内容提供商(Content Provider,CP)、内容编审人员、运营管理人员、系统管理人员提供内容整合商(Master Content Provider,MCP)管理、内容管理、版权管理、不良信息管理、质检管理、作家管理、运营管理、终端管理、系统管理、用户互动管理、实体书管理等手机阅读业务的全方位管理功能。
现有CMU系统分为两个子系统,CP子系统和MP子系统,均为单体式架构,即每一个都是不能拆分的整体系统,而且两个系统相互独立。随着时间的推移,两个子系统变得越来越庞大,越来越复杂,使现在添加功能或者修正程序错误都变得异常复杂,因此需要对CMU系统进行重构。
在设计CMU重构系统时,引入了微服务架构,即将整个系统拆分成几个特定的业务子系统,每个业务子系统完成特定的功能,子系统与子系统之间的通信都是通过接口与消息队列来实现。由于微服务架构的设计,重构后CMU各个子系统相互独立,需要一个统一门户系统将各个子系统进行整合,实现对重构后各个子系统的访问,从而使用户能够像使用以前的系统一样访问重构后的系统。
统一门户系统主要是提供给用户一个访问重构后CMU系统的一个整体入口,使以前的CMU系统用户能够能够以很低的学习成本来使用现有系统,并且实现CMU系统的用户管理和访问控制的功能。本文针对CMU重构系统的统一门户的设计与实现做了深入的探讨和研究,寻找一个重构后CMU系统统一门户的解决方案。
2 手机阅读业务内容管理系统统一门户需求分析
CMU系统被划分为若干业务子系统:通用业务管理子系统,图书业务管理子系统,漫画业务管理子系统,杂志业务管理子系统,听书业务管理子系统,手机报业务管理子系统,图书打包子系统。CMU统一门户的目的就是为了解决系统切分以后的用户对这些子系统的访问问题。由于以前的CMU系统是一个整体的网站,所以只需要要实现一个单一的访问入口,但是现在各个业务模块子系统相互独立,如何在用户不改变以前的访问习惯的同时,使用一个统一的门户网站,用最低的学习成本来使用现在的系统,是本文系统设计的关键。
CMU统一门户系统的实现需要解决如下问题:
(1)设计一个统一的门户网站
统一门户网站需要解决的主要问题是如何设计网站的结构,让用户不需要改变以前的访问习惯,或者让用户以最低的学习成本去使用重构后的系统。这就需要研究以前网站的结构,同时考虑到重构后的系统的结构划分,设计出一套统一的门户网站。
(2)研究如何实现用户在各个子系统之间的分布式会话管理
由于用户与服务器的会话都是有状态的,如何在各个子系统之间共享用户的会话信息,实现用户会话信息的分布式管理是需要解决的另一个问题。
(3)实现用户的访问控制模型
访问控制主要是控制不同用户对各种资源的访问权限。资源包括页面、菜单、按钮等界面资源,也包括图书、音频、视频等文件资源,同时也包括模块接口等资源。如何设计一个适合于CMU系统的访问控制模型也是需要解决的问题之一。
(4)统一门户的高可用性
由于用户对各个子系统的访问都是通过统一门户,所以必须保证该系统的高可用。统一门户包括反向代理服务器,会话管理服务器等不同的部分,如何实现这些不同服务器的高可用,是需要解决的一个重要问题。
3 手机阅读业务内容管理系统统一门户设计
3.1统一门户总体设计
统一门户的整体架构如图1所示,用户通过反向代理服务器与统一门户子系统通信,然后根据请求访问不同的业务子系统。其中统一门户子系统提供一个统一的接入门户,并且包括用户管理模块,权限控制模块,会话管理模块。各个业务子系统包括该子系统的接入门户,还有会话管理模块。会话服务器用于管理所有用户的会话信息,实现会话信息的共享。
3.2反向代理服务器
反向代理服务器为手机业务内容管理系统的接入模块(见图2)。Nginx是一个轻量级的HTTP服务器,是一个高性能的HTTP和反向代理服务器。统一门户使用Nginx作为用户请求的接入模块,通过为各个业务子系统管理门户设置不同的URL前缀,并配置Nginx的反向代理规则,实现将各业务管理门户的请求转发到各业务管理门户处理。
3.3统一门户子系统
(1)统一门户
统一门户是内容管理系统的统一入口。统一门户提供给用户一个注册登录界面,用于做用户的验证;同时,在用户成功登录系统之后,提供给用户一个操作界面,根据用户的权限,显示用户可以访问的各个子系统的入口链接,作为用户接入相应子系统的入口。
(2)用户管理模块
CMU系统有许多不同的用户组,用户可以属于一个或者多个用户组。用户管理模块主要用于用户和用户组的管理。比如用户的注册和登录;用户信息的管理;用户组的创建,修改,删除等;用户组信息的管理以及在用户组中添加用户,修改用户,删除用户等。
(3)权限控制模块
权限控制模块主要用于对用户的权限管理,主要使用了RBAC的访问控制模型。访问控制主要客体、主体和访问控制约束3个要素。客体是系统中包含有数据的实体;主体是行为的主动发起者;访问控制约束是一套规则,来判断某个主体对某个客体是否拥有访问权限。RBAC具有按照功能划分角色、采用集中式授权管理、通过继承传递角色权力、具有约束的概念和职责分离的特点。引入这一理论可在系统中解决访问控制约束的问题,且可多样化地设计角色和权限以实现复杂的职责分配,从而解决简单情况下的访问控制问题。
图1 统一门户架构
图2 Nginx反向代理服务器
(4)会话管理模块
会话管理模块用于用户会话信息的管理。当用户通过统一门户登录系统后,用户管理模块先获取用户的会话信息和权限信息,然后将用户的会话信息和权限信息存入会话服务器,用于会话信息在不同的业务子系统之间共享。当用户访问其他的业务子系统时,各子系统就会先从会话服务器获取用户的会话信息,然后根据用户的权限来判断是否有权访问所请求的资源。
3.4业务子系统
(1)业务子系统门户
业务子系统门户功能和统一门户相仿。主要是提供给用户访问相应业务子系统的界面,同时结合权限控制模块,实现对用户访问权限的管理,如只提供给用户具有访问权限的菜单、链接等访问接口。
(2)会话管理模块
业务子系统的会话管理模块与统一门户子系统的会话管理模块一致。当用户访问相应业务子系统时,业务子系统的会话管理模块从会话服务器取回用户的会话信息和权限信息,根据用户的权限信息来决定用户是否有权访问所请求的资源。
3.5会话服务器
会话服务器主要是用户存储用户的会话和权限信息。内容管理系统使用Redis作为会话共享的存储,通过在Redis中保存Session信息,实现多个业务子系统间的会话共享。同时,为了实现系统的可靠性,统一门户系统使用了Redis集群,当Redis服务器单台故障时,可以通过其他的节点访问和获取存储的数据。
如图3所示,用户在登录系统的时候,通过统一门户子系统,将会话信息通过会话管理模块存入会话服务器,后续用户在访问各个业务子系统时,通过向会话服务器查询的方式获取用户的会话信息,以此方式来实现各个业务子系统之间的会话共享。
4 结束语
以前的CMU系统分是单体式架构,随着时间的推移,系统变得越来越庞大,越来越复杂,使添加功能或者修正错误都变得异常复杂。因此,引入了微服务的架构对CMU系统进行重构以解决该问题。
重构后CMU系统包括通用业务管理子系统、图书业务管理子系统、漫画业务管理子系统、杂志业务管理子系统、听书业务管理子系统、手机报业务管理子系统和图书打包子系统等。各个子系统之间都是相互独立的,CMU统一门户系统将各个子系统进行整合,实现了对重构后各个子系统的访问,从而使用户能够像使用以前的系统一样访问重构后的系统。
[1]张圣文.中国移动手机阅读调研和体验[J].电脑知识与技术,2011,04:895-897.
[2]邓杰文,曹彩凤.微服务若干关键问题研究[J].五邑大学学报(自然科学版),2016,02:49-54.
[3]黄燃.统一门户平台的研究与设计[D].成都理工大学,2008.
图3 会话服务器
[4]刘淼,郭荷清,张为.J2EE平台会话管理机制分析与改进[J].航空计算技术,2004,03:116-118.
[5]李凤华,苏铓,史国振,马建峰.访问控制模型研究进展及发展趋势[J].电子学报,2012,04:805-813.
[6]潘红伟.面向不间断服务的高可用系统平台设计及实现[D].中国科学院大学(工程管理与信息技术学院),2014.
A design schema of the universal portal of content manage unit system
WU Zhenxing, LI Wei
Mobile reading service is a value-added service provided by China Mobile Reading Base with two major reading method: online and download. And Content Manage Unit (CMU) System is the management system of mobile reading service. As the time goes by, two sub-system of CMU system is becoming more and more huge and complex, which leads to growing headaches to maintaining the system and developing on the system. We take micro service architecture when reconstructing CMU system, and we split CMU system to several specific independent sub-systems. But after splitting CMU system, we have to provide the users an entrance to the whole system, which known as Universal Portal of Content Manage Unit System. In this paper, we have done a indepth reseach on reconstructed CMU system , looking for a solution to Universal Portal of Content Manage Unit system.
mobile reading; content manage unit; universal portal