YD/T 3016-2016
基本信息
标准号:
YD/T 3016-2016
中文名称:面向移动互联网的业务托管和运行平台技术要求
标准类别:通信行业标准(YD)
标准状态:现行
出版语种:简体中文
下载格式:.zip .pdf
下载大小:6045993
相关标签:
面向
移动
互联网
业务
托管
运行
平台
技术
标准分类号
关联标准
出版信息
相关单位信息
标准简介
YD/T 3016-2016.Technical Requirement of Internet based Service Deployment and Operation Platform.
1范围
YD/T 3016规定了面向移动互联网的业务托管和运行平台的功能框架、业务部署流程、业务请求处理流程、平台服务和安全性等方面的技术要求。
YD/T 3016适用于网络运营商为第三方的基于移动互联网的业务提供业务托管和开放性接口服务。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
RFC2068 超文本传输协议一HTTP/1.1
RFC1738 统一资源定位符
ISO 9075:1989 具有完整增强的数据库语言SQL
JSR 53 Java Servlet 2.3和JSP1.2规范
3缩略语
下列缩略语适用于本文件。
API Application Programming Iterface 应用编程接口
HTTP Hypertext Transfer Protocol 超文本传输协议
IP Internet Protocol 互联网协议
MIME Multipurpose Internet Mail Extensions 多用途互联网邮件扩展
URL Uniform Resource Locator 统一资源定位符
标准内容
ICS33.030
中华人民共和国通信行业标准
YD/T3016-2016
面向移动互联网的业务托管和
运行平台技术要求
Technical Requirementof InternetbasedServiceDeploymentandOperationPlatform2016-01-15发布
2016-04-01实施
中华人民共和国工业和信息化部发布前
规范性引用文件.:
缩略语
面向移动互联网的业务托管和运行平台基本要求次
面向移动互联网的业务托管和运行平台的功能框架·业务部署·
业务请求处理流程
平台服务
安全性要求
YD/T3016-2016
YD/T3016-2016
本标准按照GB/T1.1-2009给出的规则起草。本标准参考了《基于表述性状态转移(REST)技术的电信业务能力开放平台技术要求》中对业务运行环境的功能需求。
本标准参考了国内相关行业标准进行制定。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。标准起草单位:中国科学院计算技术研究所、中国联通网络通信有限公司、中国信息通信研究院、中国移动通信集团公司
标准主要起草人:李彦君、张国清、傅享川、谢健清、康
鹏、王志军、刘晓靖、吴
伟、王煜炜、
杨景。
HiiKANiKAca
1范围
YD/T3016-2016
面向移动互联网的业务托管和运行平台技术要求本标准规定了面向移动互联网的业务托管和运行平台的功能框架、业务部署流程、业务请求处理流程,平台服务和安全性等方面的技术要求。本标准适用于网络运营商为第三方的基于移动互联网的业务提供业务托管和开放性接口服务。2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。RFC2068
RFC1738
ISO 9075:1989
3缩略语
超文本传输协议——HTTP/1.1
统一资源定位符
具有完整增强的数据库语言SQL
JavaServlet2.3和JSP1.2规范
下列缩略语适用于本文件。
ApplicationProgrammingInterfaceHTTP
Hypertext Transfer Protocol
Internet Protocol
MultipurposeInternetMail ExtensionsUniform Resource Locator
4面向移动互联网的业务托管和运行平台基本要求应用编程接口
超文本传输协议
互联网协议
多用途互联网邮件扩展
统一资源定位符
面向移动互联网的业务托管和运行平台是各种移动互联网增值业务的驻留和运行平台,能够动态地为业务提供运行所需的资源,并根据业务的实际资源使用情况计费,因此,业务能够随着访问量和数据存储需求的增长而轻松扩展。平台能够根据业务的访问量、存储需求等信息,动态分配系统的软硬件资源,将海量的业务高效、便捷地部署在统一的平台中,保障业务的可靠运行,不受节点加入和退出的影响。
开发者在使用面向移动互联网的业务托管和运行平台时,不需要自已维护任何服务器。开发者无需关心业务的部署细节,只要按照平台提供的应用编程接口和业务规范开发业务,使用平台提供的业务部署工具,即可将业务发布到平台中,实现一键式部署,真正做到业务在运营商侧的有效托管。面向移动互联网的业务托管和运行平台需要具备以下基本要求:海量部署:平台能够托管海量的业务,业务之间相互隔离,业务的运行不会相互干扰:1
HiiKANiKAca
YD/T3016-2016
一键部署:开发者不必关心部署细节,只需根据平台提供的应用编程接口和业务规范开发业务,并通过平台提供的业务部署工具,按照标准的业务部署流程,即可将业务发布到平台上:·高可用性:平台必须保障业务持久、不间断地运行,并且能够快速响应大量用户的并发请求:可扩展性:平台能够根据业务的用户访问量以及资源使用统计情况等信息,动态地分配业务运行所需的资源
管理便捷:开发者无需考虑平台的安全性、可靠性以及性能等其他因素,由运营商统一监控和维护平台和在平台上运行的业务:·按需计费:开发者无需一次性购买全部资源,而是根据实际使用情况计费。5面向移动互联网的业务托管和运行平台的功能框架5.1平台架构
5.1.1概述
面向移动互联网的业务托管和运行平台总体架构如图1所示,其完整服务链至少应当包括前端负载均衡层、Web缓存层、动态路由层、业务运行层、平台服务层、平台监控层几个部分。前端负载均衡层
Web缓存层
动态路由层
平台监控层
业务运行层
平台服务
图1面向移动互联网的业务托管和运行平台架构5.1.2前端负载均衡层
在面向移动互联网的业务托管和运行平台中,开发者的业务将部署在数量庞大的服务器集群之上,而前端负载均衡层是保证平台高效运行的重要功能组件之一。前端负载均衡层应满足下列技术要求:·对用户屏蔽平台内部结构,对外部世界表现为一个单独的“虚拟\服务器,并提供一个或者多个统一的网络地址,用以访问平台中托管的所有业务;前端负载均衡层可将用户请求分发到Web缓存服务器之上。5.1.3Web缓存层
HiiKAoNiKAca
YD/T3016-2016
Web缓存层是业务数据的临时存储场所,用于缓存数据,这些数据是先前平台响应业务请求操作的结果。如果用户请求的数据在Web缓存层中存在,则可以直接将Web缓存层中的数据返回,无需将请求转发到业务运行环境当中。由于业务托管和运行平台上部署了海量的业务,Web缓存层可降低部署在后端的业务运行环境的负载压力。5.1.4动态路由层
面向移动互联网的业务托管和运行平台上可部署海量的业务。每个业务运行环境中可以部署多个业务,一个业务也可以拥有多个运行实例,分别部署在多个业务运行环境当中。动态路由层需要保证机器级别的负载均衡和业务级别的负载均衡。动态路由层应具备以下的技术要求:·在保证服务质量的前提下,最大化利用服务器的性能,使得活跃的业务运行环境的数量最少,减少平台的开销。平台能够根据自身的整体负载情况,自动创建新的业务运行环境,或回收已有的业务运行环境。
一个业务运行环境上可以部署多个业务,一个业务也可以拥有多个运行实例,分别部署在多个业务运行环境当中,动态路由层需要保证机器级别的负载均衡和业务级别的负载均衡。·能够重用已经存在的用户会话,减少穴余的会话信息,提高平台的响应速度。5.1.5业务运行层
业务运行层为业务的运行提供支持。每一台应用服务器对应为一个业务运行环境。业务运行层的功能设计应满足以下的技术要求:·复用性,即单个业务运行环境可部署多个业务,单个业务也可以拥有多个运行实例,分别部署在多个业务运行环境当中,业务运行层应保证同一个业务的,部署在不同业务运行环境之中的运行实例之间的数据同步;
·支持业务的隔离,保证各业务之间互不影响,并且能够在不同的业务运行环境之间动态地迁移业务。
5.1.6平台服务层
平台服务层提供平台服务的实现,并以应用编程接口的形式提供给业务开发者。业务通过调用应用编程接口来访问这些平台服务。平台服务层应提供下列最基本的服务:·数据库服务;
分布式缓存服务;
URL访问服务;
任务调度服务:
大数据对象的数据库存储服务:数据存储区服务:
多租户服务:
认证授权服务。
5.1.7平台监控层
平台监控层是面向移动互联网的业务托管和运行平台的控制中心,应具备下列功能要求:资源使用情况汇总功能,每个业务可以拥有多个运行实例,平台能够统计每一个运行实例的资源使用情况,并汇总为该业务的资源使用情况:3
HiiKAoNiKAca
YD/T3016-2016
·业务生命周期管理功能,平台能够实时地根据业务的资源使用情况,动态创建新的运行实例,或者停止已有的运行实例;
·动态路由网更新功能,平台能够根据业务运行实例的资源使用情况,动态调整用户请求的转发规则。
5.2业务运行环境体系结构
业务运行环境可以划分为六个逻辑层次,从上到下分别是业务层、业务扩展层、业务驻留层、虚拟运行环境层、环境监控层以及操作系统层。这六个层次组成业务运行栈,提供一个可控、安全的业务运行环境。业务运行环境体系结构如图2所示。操作系统层
环境监控层
虚拟运行环境层
图2业务运行环境体系结构
5.2.1业务层
业务,即开发者开发并部署到面向移动互联网的业务托管和运行平台上的应用。业务可以在平台上部署的基本要求为:
·使用平台支持的开发语言和开发框架:·符合平台对业务的安全性限制。5.2.2业务扩展层
面向移动互联网的业务托管和运行平台应当支持流行的应用框架和第三方库,例如Java开发框架struts、Spring、Hibernate等。同时,平台应提供访问平台服务的接口。平台服务以应用编程接口的形式提供给开发者。因此,平台应将对应用编程接口的访问转换成对相应平台服务的访问。5.2.3业务驻留层
业务驻留层负责运行业务,解析页面编程语言,响应用户请求并返回响应页面。5.2.4虚拟运行环境层
为保证面向移动互联网的业务托管和运行平台的安全性和稳定性,业务应当被隔离、并在受限制的运行环境中运行。虚拟运行环境支持不同业务的隔离和保护,保证业务之间互不影响,彼此安全,并且支持在不同的业务运行环境之间迁移业务。5.2.5环境监控层
HiiKAoNi KAca
YD/T3016-2016
环境监控层监控业务运行环境中每个业务运行实例的资源使用情况,包括CPU使用率、内存使用量以及网络带宽使用量等信息,并和平台监控层进行交互。环境监控层的基本功能要求如下:·环境监控层能够统计业务运行环境中每个业务运行实例的资源使用统计信息,并将统计信息发送到平台监控层,由平台监控层进行汇总,以统计业务的整体资源使用情况,用于支持对业务进行计费以及管理业务的生命周期;
。环境监控层能够接受平台监控层的指令,创建新的业务运行实例,或者停止并回收已有的业务运行实例:
·平台监控层可根据业务的汇总信息,统计业务运行环境的负载,并向环境监控层发送指令,调整业务运行环境中运行的业务。5.2.6操作系统层
操作系统是管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石,其主要功能需包括:
硬件资源管理能力,即可对硬件资源如处理器、内存以及网卡等进行操作并使之透明地被用户使用:
进程管理能力,即对进程进行调度以及控制进程的生命周期文件系统管理能力,即屏蔽底层存储资源细节,使用户能够方便地以文件形式访问存储资源,无论该文件是在本地还是在远程分布式文件系统上。6业务部署
6.1业务的创建
在将业务部署到面向移动互联网的业务托管和运行平台上之前,第三方开发者应先在开发者平台上注册业务,获取唯一的业务标识,并由平台自动创建相关联的远程仓库。远程仓库可支持业务资源的版本控制、用户代码存储以及代码所需资源文件的存储与管理。在进行业务部署时,指定业务所对应的业务标识即可。
6.2URL到业务标识的映射
系统可以支持三种不同的方法,用于将URL映射到业务标识。这三种方法包括独立域名方法、子域名方法以及子目录方法。
6.2.1独立域名方法
独立域名,即该业务对应的域名与平台的域名无关。平台保存独立域名到业务标识的映射(见表1),直接根据独立域名查找对应的业务标识。如果业务请求采用独立域名,则应在HTTP请求的Host头部中指出该独立域名。
表1独立域名到业务标识的映射表描述字段
domainName
*.abc.com
HelloWorld
6.2.2子域名方法
表示独立域名
表示该独立域名对应的业务标识支持正则查找
该标识为字符串序列,每一个业务均有唯一的标识5
HiiKAoiKAca
YD/T3016-2016
如果将系统的域名记为xxx.com,那么业务对应的子域名是(appId).xxx.com。从子域名当中可以直接获得该业务对应的业务标识。如果业务请求采用子域名方法,则应在HTTP请求的Host头部中指出该请求对应的子域名。
6.2.3子目录方法
如果将系统的域名记为xxx.com,将系统的根目录记为/,那么业务对应的子目录是xxx.com/(appld)。从子目录中可以直接获得该业务对应的业务标识。如果业务请求采用子目录方法,则无需在HTTP请求头部中附带Host信息。6.3项目的目录结构
本节内容以JavaWeb应用为例,详细描述了每一个项目需要遵循的目录结构标准。在JavaWeb应用的目录结构中,所有文件都位于项目根目录之下。可以用J2EESDK提供的工具将其打包成一个War(WebApplicationArchive,Web应用的一种压缩格式)。项目根目录下至少应包含WEB-INF目录,该目录中至少应包含以下内容:
·/WEB-INF/web.xml,用于配置Web应用,描述Servlet和其他Web应用组成部分,以及这些组成部分的初始化参数等属性的XML文档:●/WEB-INF/appengine-web.xml,用于配置平台参数,如描述动静分离配置中的目录参数;●/WEB-INF/classes,用于存储所有Java类文件和相关资源文件,如Servlet类、普通Java类、图片、语言信息等文件:
·/WEB-INF/lib,用于存放Web应用所需的所有库文件,这些库文件是以压缩的.jar文件格式存储的。
●除了必须的WEB-INF目录之外,项目根目录之下也可包含js、css、images等目录,分别用于组织javascript、css以及图片等资源。6.4业务部署流程
第三方开发者可以直接将业务资源打包并部署到平台上,或者采用SVN、Git等版本控制工具部署业务。采用版本控制工具部署业务的详细流程如图3所示,包含以下步骤:1)在向平台上传业务内容之前,第三方开发者应向平台申请创建业务:请求中包括业务标识,用户通过由该标识产生的URL即可访问业务:2)平台创建与该业务相关的远程仓库,第三方开发者可将业务的内容通过客户端程序上传到该远程仓库中:
3)第三方开发者使用客户端,如svn客户端、Git客户端等,创建本地仓库:4)第三方开发者准备完整的业务资源,并加入本地仓库:5)第三方开发者发出上传指令,可以通过命令行,亦可以集成到IDE当中:6)第三方开发者通过客户端程序将业务同步到远程仓库上,需要输入用户名和密码进行身份认证,远程仓库上保存着业务所有版本的内容:7)第三方开发者选择需要的业务版本:8)平台将该版本的业务资源部署到业务运行平台中。6
HiiKANiKAca
开发者
3)创建本地仓库
本地仓库
1)创建业务
4)将业务资源加入本地仓库
5)上传业务
6同步到相应的远程仓
7)选择部署业务版本
图3业务部署流程
7业务请求处理流程
7.1标准业务请求处理流程
远程仓库
YD/T3016-2016
业务运行平台
2)创建远程仓库
8)部署相应版本
图4所示是业务请求的标准处理流程,描述从面向移动互联网的业务托管和运行平台接收业务请求到返回业务响应内容的整个过程。该业务请求所对应的业务已经运行。详细流程如下所述平台接收业务请求,该请求进入前端负载均衡层:前端负载均衡层将请求分发到缓存服务器:缓存服务器查找是否缓存命中,即缓存服务器是否包含缓存数据,这些数据是先前响应业务请求操作的结果;
未找到缓存的响应内容,业务请求进入动态路由层处理:动态路由层根据业务请求查找对应的业务标识,根据业务标识查找业务所在的业务运行环境,如果查找结果中存在多个业务运行环境,则选择其中一个:将业务请求转发到相应的业务运行环境中,业务运行环境将业务请求分配到相应的业务运行实例:
业务运行实例调用平台用户认证服务,获取发送业务请求的用户;处理业务请求,在处理业务请求当中,可调用平台的其他服务:返回业务请求响应内容,如HTML文件、javascript文件等,完成业务请求处理流程。7
YD/T3016-2016
前端负载均衡层
1业务请求
Web缓存层
2)将请求分发到
缓存服务器
3)判断缓存
是否命中
动态路由层
4)缓存未命中,
求进入后端处理
返回业务中应内容
12返回业务
确应内客
业务运行层
5)查找业务所在
的业务运行环境
6)找到业务运行环
境,将请求转发到
业务运行环境中
10返回业务响应内容
平台服务层
调用用户认证服务
8)处理业务请求
9)调用平台其他服务
图4标准业务请求处理流程
7.2带缓存命中的业务请求处理流程平台监控层
图5所示是带缓存命中的业务请求处理流程,描述从面向移动互联网的业务托管和运行平台接收业务请求到返回业务响应内容的整个过程。该业务请求所对应的业务已经运行,且已经处理过相同业务请求。详细流程如下所述:
·平台接收业务请求,该请求进入前端负载均衡层:前端负载均衡层将请求分发到缓存服务器:缓存服务器查找是否缓存命中,即缓存服务器是否包含缓存数据,这些数据是先前响应业务请求操作的结果:
找到缓存的响应内容,直接返回业务请求响应内容,如HTML文件、javascript文件等,完成业务请求处理流程。wwW.bzxz.Net
前端负裁均街层
1)业务请求
Meb缓在层
2)将请求分发到
缓存服务器
4)缓存命中,直接
返回响应内容
返回业务
响应内容
动态路由层
3)判断缓存
是否命中
业务运行层
图5带缓存命中的业务请求处理流程平台服务层
平台监控层
7.3首次业务请求的处理流程
YD/T3016-2016
图6所示是首次业务请求的处理流程,描述从面向移动互联网的业务托管和运行平台接收业务请求到返回业务响应内容的整个过程。该业务请求所对应的业务尚未运行。详细流程如下所述:平台接收业务请求,该请求进入前端负载均衡层:前端负载均衡层将请求分发到缓存服务器;缓存服务器查找是否缓存命中,即缓存服务器是否包含缓存数据,这些数据是先前响应业务请求操作的结果:
未找到缓存的响应内容,业务请求进入动态路由层处理:动态路由层根据业务请求查找对应的业务标识,根据业务标识查找业务所在的业务运行环境:未查找到对应的业务运行环境,表明该业务尚未运行,将请求转发到平台监控层,由平台监控层负责初始化业务:
平台监控层查找空闲的业务运行环境,该业务运行环境具有额外的CPU、内存和网络带宽来运行新的业务:
平台监控层向业务运行环境发送初始化业务的指令,在业务运行环境中初始化新的业务:平台监控层接收到初始化成功消息后,将业务请求转发到相应的业务运行环境中,业务运行环境将业务请求分配到相应的业务:散强鱼我均街层
1)业务请
web缓在屋
2)特请水分发到
理存服务器
动态路由层
3)判晰缓存
是否命中
4)线存未食中,请
求进入后蹈处理
14)返回业务
业务监行层
5)查找业务所存
的业务运行环境
平台服务屋
运行,格请求转发到平金监控层10)调用用户认证服
D处理业务请:
12)遇用平台共他服务
返同业务响应内容
5)娱存面皮内霜
16)返回业务
17)返回业务
精成内容
南皮内容
图6首次业务请求的处理流程
平台监控屋
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。