SQL Server 2008案例之奥地利广播公司


“我们必须以最快的速度提供分析结果,否则所作的工作将毫无意义. … 这也是我们快速升级到SQL Server 2008的主要原因。”Gerald Schinagl, 奥地利广播公司项目经理及数据库系统架构师。

奥地利广播公司(ORF) IT部门的主要工作是从数据库以及相关数据仓库中为解说员和其它记者提供稍纵即逝的分析数据以及其它相关信息,从而帮助他们提供杰出的报导。2008年欧洲杯将在奥地利和瑞士举办,为了更好的对其进行报导,ORF 希望能够拥有最好的数据库基础架构。在对Microsoft? SQL Server? 2008进行完测试以后,即使官方还没有正式发布,ORF 依然决定从SQL Server 2005升级到SQL Server 2008
升级之后,该公司的数据处理速度比以前更快,并且能够享受到SQL Server 2008在数据管理方面的新功能,例如基于策略的管理以及变更数据捕获。

基本情况
奥地利广播公司(ORF) 作为奥地利国有广播电台,其收入主要来源于电视许可费以及有限的广告费用。ORF 是奥地利广播传媒行业的龙头老大

ORF 在诸如高山滑雪等冬季运动的转播方面受到了广泛的赞誉,通过微软应用程序平台,ORF 可以为解说员提供实时更新的背景信息以增强报导的深度。在2008年6月,ORF 将为观众提供欧洲杯的现场直播以及电视报道,该项赛事将在奥地利和瑞士举办。欧洲杯被誉为世界第三大体育赛事,仅次于奥运会和世界杯。

为了能够转播欧洲杯全部31场 比赛,ORF 迫切希望能够加强其IT基础架构,包括利用数据仓库来实现数据统计和数据分析。此外,ORF 还希望能够对数据进行加密以保护信息,并增强数据审核功能以确保遵循奥地利政府的相关规定。

ORF 利用Microsoft SQL Server? 2005来支持100个数据库,其中有一半数据库属于5个SQL Server 实例,这些SQL Server 运行在一个两节点的主/从群集中。
数据处理速度对于ORF公司来说至关重要,因为该公司最重要的责任是利用稍纵即逝的分析结果来进行实时评论和报道,并帮助电视观众及广播听众更好的了解比赛现场所发生的情况。

ORF 公司对于之前在Windows Server? 2003企业版操作系统平台上所采用的SQL Server 2005非常满意,因此迫切的希望升级到SQL Server 2008以获得更快速的数据处理能力,同时从那些简化数据库管理的新功能中获益。

解决方案
在对SQL Server 2008 beta 版进行评估以后,ORF 成为了第一批采用新版本的客户,并将其部署在大多数关键数据库中,其中包括存储体育数据的数据仓库以及其它5个测量性能的数据仓库。ORF 公司为了能够利用SQL Server 2008 中的新功能,甚至在该产品正式发布之前就进行了部署,ORF 公司所利用到的新功能包括:
基于策略的管理:ORF 利用基于策略的管理,为内部和外部数据库开发人员来设置并强制有关系统配置的策略。ORF 期待SQL Server 2008中的这项新功能可以通过强制采用最优实践,最终降低运行成本。
变更数据捕获:SQL Server 2008中引入了变更数据捕获(CDC)功能,该功能可以捕获完整的变更内容并保持数据表之间的一致性。CDC 同样可以处理架构的变更。ORF 公司利用CDC 功能来取代其自己开发的使用触发器来捕获变更的代码。
高级数据审核:ORF 公司利用SQL Server 2008所提供的全面的数据审核功能,来遵循政府制定的规章制度,即对于某些事件变更,需要跟踪到变更发生的时间、地点、以及操作者。
透明化的数据加密:ORF 公司利用SQL Server 2008所提供的透明化的数据加密功能来对整个数据库进行加密,而加密过程并不需要更改应用程序代码。
为数据仓库采用星型联接:SQL Server 2008针对常见的数据仓库场景改进了查询性能。针对星型联接查询的优化可以通过识别数据仓库联接模型的方式来减少查询时间,并且ORF 公司也确实发现数据加载的时间有所减少。
Hierarchy ID 数据类型:SQL Server 2008可以让数据库应用程序以更有效的方式构建树型结构。

ORF 公司同样大量采用了SQL Server 2008集成服务。SQL Server 2005中所引入的集成服务在SQL Server 2008中得到了极大的增强,并提供了一系列强大的数据提取、转换和加载(ETL) 工具。

“我们的工作需要处理大量信息,这些信息采用不同的格式且来自不同的系统,”奥地利广播公司项目经理及数据库系统架构师Gerald Schinagl 说到,“我们需要处理文本格式、XML 格式、平面文件、不同的关系型数据库、以及通过Web 服务所订阅的RSS 等等。我们需要在数据被加载到数据仓库之前,做很多数据提取、数据处理等操作,集成服务可以让我们更轻松的完成这些任务。”

解决方案的实现过程变得更加简单,这是因为ORF 可以很轻松的将其数据库从SQL Server 2005中升级为SQL Server 2008

“我们很惊讶升级过程是如此的简单,”Schinagl 说道,“我们所收集的数据非常复杂,大约有5万场足球比赛的数据以XML 格式进行存储,包括我们自己定制的基于SQL CLR 的数据类型,所以我们原本预料可能会出现一些问题,但实际上整个过程非常顺利。”

好处
将数据库基础架构升级为SQL Server 2008可以帮助ORF 公司更快速的为其转播团队提供分析数据,从而让他们在整个欧洲杯的转播过程中脱颖而出。利用SQL Server 2008中所引入的基于策略的管理和变更数据捕获功能,数据库管理工作变得非常简单。ORF 同样受益于增强的数据审核功能、易于部署的加密方案、在数据仓库中采用星型联接加快数据加载速度、以及采用Hierarchy ID 实现更有效的数据建模。

更快速的为解说员提供信息
升级到SQL Server 2008为ORF 带来的最大好处是可以为其解说员、记者以及观众以前所未有的速度提供信息。

“我们所作的每一件事都是为了提高速度,”Schinagl 说道,“如果一名高山滑雪运动员完成了一个精彩的表演,我们的解说员需要立即知道他所得分数的含义,这需要进行十分复杂的分析。我们坚信我们在某些领域所提供的分析数据是其他解说员所无法匹敌的。”

尽管时间紧迫,我们还是出色的完成了所有工作。

“如果我们不能即刻提供分析结果将会毫无意义,”Schinagl 说道,“我们常说信息只有在事件发生的那一刻才有价值。如果晚一分钟,信息的含金量将会减半;如果晚两分钟,信息将变得毫无价值。这也就是为什么我们要不断的寻找最快的数据仓库解决方案以及数据分析解决方案,同时也是我们如此之快的升级到 SQL Server 2008的原因。”
通过基于策略的管理来简化数据库管理


ORF 公司通过部署解决方案来为解说员和记者快速、完整的展现相关信息,这也使得商业智变得越发重要。虽然成功部署了商业智能解决方案,但随着为不同用户和不同开发人员创建多个数据仓库以及配套服务,ORF 发现并没有针对数据库、数据表、多维数据集、SQL Server 集成服务包、存储过程、以及其它元素设定相应的命名策略。

“一段时间过后,我们发现公司内部需要规范如何对不同对象进行命名,这些对象如何操作,以及其它简化基础架构管理和支持的基本原则。”奥地利广播公司的项目经理及商业智能架构师Claudia Schrammel 说道。“如今我们有相应的策略,并且利用SQL Server 2008中基于策略的管理功能,我们可以确保策略的执行。对于一些对外项目,这一点尤为重要。”

在基于策略的管理功能推出之前,新编写的代码需要经过核查以确保其满足ORF 公司的策略。

“在过去,当新的应用程序代码提交以后,我们需要检查所有数据库的对象是否都遵循公司的策略,这是一项很艰巨的任务,”Schrammel 说道,“利用基于策略的管理功能,我们可以检查现有数据库以确保所有对象都符合策略。对于新的项目,我们可以告诉承包商我们的规章制度,并利用基于策略的管理功能来确保开发人员不会创建出违背公司策略的数据库对象。从效率以及节约时间等方面考虑,基于策略的管理功能将潜在帮助我们节约大量成本。”

自动化的变更数据捕获(CDC)
在部署SQL Server 2008之前,ORF 通过创建触发器来响应更新并捕获变更数据。尽管触发器总体执行很好,但有时候无法跟踪复杂的变更。

“我们有时候要进行非常复杂的更新,可能会涉及到多个数据表的交叉操作,”Schinagl 说道,“在这些情况下,由于过于复杂,我们的触发器有时无法捕捉到所有变更。此外,如果采用额外的代码将会降低系统的性能。”

SQL Server 2008的CDC 功能可以取代捕获变更的触发器,这是因为CDC 采用异步方式跟踪数据库的变更,并且通过相关接口将更新展现出来。这样ORF 公司可以根据其特定需求轻松跟踪变更,并且采用Transact-SQL 或其它数据访问语言来处理这些变更数据。

“变更数据捕获功能为我们提供了所需的信息,并将我们从创建、测试触发器的工作中解放出来,”Schinagl 说道,“利用触发器以及我们内部开发的代码来捕获变更数据非常耗时。”

增强的数据审核
此外,ORF 公司还利用了SQL Server 2008中的高级数据审核功能。“我们有一些数据库中存储着非常敏感的信息,因此我们需要精确跟踪都有哪些人在什么时候对数据进行了更改,”Schrammel 说道,“SQL Server 2005中已经提供了审核功能,但是仍然需要我们编写一些程序来获得所需的数据。SQL Server 2008中提供了完美的审核框架,并且在我们的测试中表现非常好。”

SQL Server 2008中内置的高级数据审核功能将帮助ORF 公司向政府管理人员证明其数据安全性符合相应标准。“由于我们是一家国有公司,因此每隔一到两年政府将会针对我们的应用程序进行IT 测试,以确保我们可以满足安全性及其它标准,”Schinagl 说道,“如果我们能够向他们展示微软所提供的审核框架及其效率,那么该项测试将变得易如反掌。比起向政府官员解释我们构建了50个触发器以及这些触发器是如何工作的,高级数据审核功能可以让测试变得更加简单。我们只需要简单的介绍:‘这些是所启用的规则,这里是它们所提供的信息。’”

简化加密方案的部署
ORF 公司的一些数据库中包含机密的商业信息,需要尽可能的保护其安全。“我们严格限制有权限看到这些数据的人,并且使用SQL Server 2008的审核功能进行检验,”Schinagl 说道,“除此以外,我们还要求通过加密来保护信息。尽管SQL Server 2005支持加密,但是需要在客户端进行大量操作。SQL Server 2008提供了透明化的数据加密功能,在不触及应用程序代码及客户端电脑的情况下,即可轻松保护我们的数据。”

利用星型联接实现更快速的数据加载
ORF 很好的利用了SQL Server 2008中所提供的星型联接架构以及星型查询优化。星型联接架构由一个事实数据表和相关的维度表所组成,它可以使数据仓库中的查询操作更加合理。通过识别数据仓库的联接模式,星型联接架构可以降低响应时间。

除了提高查询速度,ORF 公司还发现由于SQL Server 2008中增强了对星型联接架构的支持,因此数据可以更快速的加载到数据仓库中。“利用SQL Server 2008中对星型联接的优化,我们发现数据加载的性能即刻提升了15%,”Schrammel 说道,“不改变一行代码就能够提升15%的性能,我们认为这是一个巨大的进步。”

更加高效的数据建模
利用SQL Server 2008中新引入的Hierarchy ID 功能,ORF 可以更灵活的将不同父子层次结构中的数据结合到数据仓库中。Hierarchy ID 功能可以更有效的创建树型结构模型,并且让数据库进一步了解到同一个数据表中各个行之间的关系。这种方式要远远强于采用父子关系的层次结构。

“在典型的数据仓库中可以很容易的采用父子层级结构来处理信息,,但在处理来自多种不同层级的数据时往往会遇到困难,”Schinagl 说道,“我们可能需要处理来自所有部门的第三级的成本信息,以及和体育赛事相关的第二级的数据,但这些多层级的数据分析起来往往很困难。而通过Hierarchy ID 可以帮助我们轻松处理跨层级的数据。”

总而言之,在为2008年欧洲杯现场直播做准备的过程中,ORF 公司非常满意将Sports 数据库及其相关的数据仓库升级到SQL Server 2008所带来的好处。在直播的过程中,ORF 公司可以更快速的为解说员提供分析结果以及关键数据,并且SQL Server 2008中的一系列新功能使得信息的管理、审核、以及加密变得更加轻松

本文作者:

“我们必须以最快的速度提供分析结果,否则所作的工作将毫无意义. … 这也是我们快速升级到SQL Server 2008的主要原因。”Gerald Schinagl, 奥地利广播公司项目经理及数据库系统架构师。

奥地利广播公司(ORF) IT部门的主要工作是从数据库以及相关数据仓库中为解说员和其它记者提供稍纵即逝的分析数据以及其它相关信息,从而帮助他们提供杰出的报导。2008年欧洲杯将在奥地利和瑞士举办,为了更好的对其进行报导,ORF 希望能够拥有最好的数据库基础架构。在对Microsoft? SQL Server? 2008进行完测试以后,即使官方还没有正式发布,ORF 依然决定从SQL Server 2005升级到SQL Server 2008
升级之后,该公司的数据处理速度比以前更快,并且能够享受到SQL Server 2008在数据管理方面的新功能,例如基于策略的管理以及变更数据捕获。

基本情况
奥地利广播公司(ORF) 作为奥地利国有广播电台,其收入主要来源于电视许可费以及有限的广告费用。ORF 是奥地利广播传媒行业的龙头老大

ORF 在诸如高山滑雪等冬季运动的转播方面受到了广泛的赞誉,通过微软应用程序平台,ORF 可以为解说员提供实时更新的背景信息以增强报导的深度。在2008年6月,ORF 将为观众提供欧洲杯的现场直播以及电视报道,该项赛事将在奥地利和瑞士举办。欧洲杯被誉为世界第三大体育赛事,仅次于奥运会和世界杯。

为了能够转播欧洲杯全部31场 比赛,ORF 迫切希望能够加强其IT基础架构,包括利用数据仓库来实现数据统计和数据分析。此外,ORF 还希望能够对数据进行加密以保护信息,并增强数据审核功能以确保遵循奥地利政府的相关规定。

ORF 利用Microsoft SQL Server? 2005来支持100个数据库,其中有一半数据库属于5个SQL Server 实例,这些SQL Server 运行在一个两节点的主/从群集中。
数据处理速度对于ORF公司来说至关重要,因为该公司最重要的责任是利用稍纵即逝的分析结果来进行实时评论和报道,并帮助电视观众及广播听众更好的了解比赛现场所发生的情况。

ORF 公司对于之前在Windows Server? 2003企业版操作系统平台上所采用的SQL Server 2005非常满意,因此迫切的希望升级到SQL Server 2008以获得更快速的数据处理能力,同时从那些简化数据库管理的新功能中获益。

解决方案
在对SQL Server 2008 beta 版进行评估以后,ORF 成为了第一批采用新版本的客户,并将其部署在大多数关键数据库中,其中包括存储体育数据的数据仓库以及其它5个测量性能的数据仓库。ORF 公司为了能够利用SQL Server 2008 中的新功能,甚至在该产品正式发布之前就进行了部署,ORF 公司所利用到的新功能包括:
基于策略的管理:ORF 利用基于策略的管理,为内部和外部数据库开发人员来设置并强制有关系统配置的策略。ORF 期待SQL Server 2008中的这项新功能可以通过强制采用最优实践,最终降低运行成本。
变更数据捕获:SQL Server 2008中引入了变更数据捕获(CDC)功能,该功能可以捕获完整的变更内容并保持数据表之间的一致性。CDC 同样可以处理架构的变更。ORF 公司利用CDC 功能来取代其自己开发的使用触发器来捕获变更的代码。
高级数据审核:ORF 公司利用SQL Server 2008所提供的全面的数据审核功能,来遵循政府制定的规章制度,即对于某些事件变更,需要跟踪到变更发生的时间、地点、以及操作者。
透明化的数据加密:ORF 公司利用SQL Server 2008所提供的透明化的数据加密功能来对整个数据库进行加密,而加密过程并不需要更改应用程序代码。
为数据仓库采用星型联接:SQL Server 2008针对常见的数据仓库场景改进了查询性能。针对星型联接查询的优化可以通过识别数据仓库联接模型的方式来减少查询时间,并且ORF 公司也确实发现数据加载的时间有所减少。
Hierarchy ID 数据类型:SQL Server 2008可以让数据库应用程序以更有效的方式构建树型结构。

ORF 公司同样大量采用了SQL Server 2008集成服务。SQL Server 2005中所引入的集成服务在SQL Server 2008中得到了极大的增强,并提供了一系列强大的数据提取、转换和加载(ETL) 工具。

“我们的工作需要处理大量信息,这些信息采用不同的格式且来自不同的系统,”奥地利广播公司项目经理及数据库系统架构师Gerald Schinagl 说到,“我们需要处理文本格式、XML 格式、平面文件、不同的关系型数据库、以及通过Web 服务所订阅的RSS 等等。我们需要在数据被加载到数据仓库之前,做很多数据提取、数据处理等操作,集成服务可以让我们更轻松的完成这些任务。”

解决方案的实现过程变得更加简单,这是因为ORF 可以很轻松的将其数据库从SQL Server 2005中升级为SQL Server 2008

“我们很惊讶升级过程是如此的简单,”Schinagl 说道,“我们所收集的数据非常复杂,大约有5万场足球比赛的数据以XML 格式进行存储,包括我们自己定制的基于SQL CLR 的数据类型,所以我们原本预料可能会出现一些问题,但实际上整个过程非常顺利。”

好处
将数据库基础架构升级为SQL Server 2008可以帮助ORF 公司更快速的为其转播团队提供分析数据,从而让他们在整个欧洲杯的转播过程中脱颖而出。利用SQL Server 2008中所引入的基于策略的管理和变更数据捕获功能,数据库管理工作变得非常简单。ORF 同样受益于增强的数据审核功能、易于部署的加密方案、在数据仓库中采用星型联接加快数据加载速度、以及采用Hierarchy ID 实现更有效的数据建模。

更快速的为解说员提供信息
升级到SQL Server 2008为ORF 带来的最大好处是可以为其解说员、记者以及观众以前所未有的速度提供信息。

“我们所作的每一件事都是为了提高速度,”Schinagl 说道,“如果一名高山滑雪运动员完成了一个精彩的表演,我们的解说员需要立即知道他所得分数的含义,这需要进行十分复杂的分析。我们坚信我们在某些领域所提供的分析数据是其他解说员所无法匹敌的。”

尽管时间紧迫,我们还是出色的完成了所有工作。

“如果我们不能即刻提供分析结果将会毫无意义,”Schinagl 说道,“我们常说信息只有在事件发生的那一刻才有价值。如果晚一分钟,信息的含金量将会减半;如果晚两分钟,信息将变得毫无价值。这也就是为什么我们要不断的寻找最快的数据仓库解决方案以及数据分析解决方案,同时也是我们如此之快的升级到 SQL Server 2008的原因。”
通过基于策略的管理来简化数据库管理


ORF 公司通过部署解决方案来为解说员和记者快速、完整的展现相关信息,这也使得商业智变得越发重要。虽然成功部署了商业智能解决方案,但随着为不同用户和不同开发人员创建多个数据仓库以及配套服务,ORF 发现并没有针对数据库、数据表、多维数据集、SQL Server 集成服务包、存储过程、以及其它元素设定相应的命名策略。

“一段时间过后,我们发现公司内部需要规范如何对不同对象进行命名,这些对象如何操作,以及其它简化基础架构管理和支持的基本原则。”奥地利广播公司的项目经理及商业智能架构师Claudia Schrammel 说道。“如今我们有相应的策略,并且利用SQL Server 2008中基于策略的管理功能,我们可以确保策略的执行。对于一些对外项目,这一点尤为重要。”

在基于策略的管理功能推出之前,新编写的代码需要经过核查以确保其满足ORF 公司的策略。

“在过去,当新的应用程序代码提交以后,我们需要检查所有数据库的对象是否都遵循公司的策略,这是一项很艰巨的任务,”Schrammel 说道,“利用基于策略的管理功能,我们可以检查现有数据库以确保所有对象都符合策略。对于新的项目,我们可以告诉承包商我们的规章制度,并利用基于策略的管理功能来确保开发人员不会创建出违背公司策略的数据库对象。从效率以及节约时间等方面考虑,基于策略的管理功能将潜在帮助我们节约大量成本。”

自动化的变更数据捕获(CDC)
在部署SQL Server 2008之前,ORF 通过创建触发器来响应更新并捕获变更数据。尽管触发器总体执行很好,但有时候无法跟踪复杂的变更。

“我们有时候要进行非常复杂的更新,可能会涉及到多个数据表的交叉操作,”Schinagl 说道,“在这些情况下,由于过于复杂,我们的触发器有时无法捕捉到所有变更。此外,如果采用额外的代码将会降低系统的性能。”

SQL Server 2008的CDC 功能可以取代捕获变更的触发器,这是因为CDC 采用异步方式跟踪数据库的变更,并且通过相关接口将更新展现出来。这样ORF 公司可以根据其特定需求轻松跟踪变更,并且采用Transact-SQL 或其它数据访问语言来处理这些变更数据。

“变更数据捕获功能为我们提供了所需的信息,并将我们从创建、测试触发器的工作中解放出来,”Schinagl 说道,“利用触发器以及我们内部开发的代码来捕获变更数据非常耗时。”

增强的数据审核
此外,ORF 公司还利用了SQL Server 2008中的高级数据审核功能。“我们有一些数据库中存储着非常敏感的信息,因此我们需要精确跟踪都有哪些人在什么时候对数据进行了更改,”Schrammel 说道,“SQL Server 2005中已经提供了审核功能,但是仍然需要我们编写一些程序来获得所需的数据。SQL Server 2008中提供了完美的审核框架,并且在我们的测试中表现非常好。”

SQL Server 2008中内置的高级数据审核功能将帮助ORF 公司向政府管理人员证明其数据安全性符合相应标准。“由于我们是一家国有公司,因此每隔一到两年政府将会针对我们的应用程序进行IT 测试,以确保我们可以满足安全性及其它标准,”Schinagl 说道,“如果我们能够向他们展示微软所提供的审核框架及其效率,那么该项测试将变得易如反掌。比起向政府官员解释我们构建了50个触发器以及这些触发器是如何工作的,高级数据审核功能可以让测试变得更加简单。我们只需要简单的介绍:‘这些是所启用的规则,这里是它们所提供的信息。’”

简化加密方案的部署
ORF 公司的一些数据库中包含机密的商业信息,需要尽可能的保护其安全。“我们严格限制有权限看到这些数据的人,并且使用SQL Server 2008的审核功能进行检验,”Schinagl 说道,“除此以外,我们还要求通过加密来保护信息。尽管SQL Server 2005支持加密,但是需要在客户端进行大量操作。SQL Server 2008提供了透明化的数据加密功能,在不触及应用程序代码及客户端电脑的情况下,即可轻松保护我们的数据。”

利用星型联接实现更快速的数据加载
ORF 很好的利用了SQL Server 2008中所提供的星型联接架构以及星型查询优化。星型联接架构由一个事实数据表和相关的维度表所组成,它可以使数据仓库中的查询操作更加合理。通过识别数据仓库的联接模式,星型联接架构可以降低响应时间。

除了提高查询速度,ORF 公司还发现由于SQL Server 2008中增强了对星型联接架构的支持,因此数据可以更快速的加载到数据仓库中。“利用SQL Server 2008中对星型联接的优化,我们发现数据加载的性能即刻提升了15%,”Schrammel 说道,“不改变一行代码就能够提升15%的性能,我们认为这是一个巨大的进步。”

更加高效的数据建模
利用SQL Server 2008中新引入的Hierarchy ID 功能,ORF 可以更灵活的将不同父子层次结构中的数据结合到数据仓库中。Hierarchy ID 功能可以更有效的创建树型结构模型,并且让数据库进一步了解到同一个数据表中各个行之间的关系。这种方式要远远强于采用父子关系的层次结构。

“在典型的数据仓库中可以很容易的采用父子层级结构来处理信息,,但在处理来自多种不同层级的数据时往往会遇到困难,”Schinagl 说道,“我们可能需要处理来自所有部门的第三级的成本信息,以及和体育赛事相关的第二级的数据,但这些多层级的数据分析起来往往很困难。而通过Hierarchy ID 可以帮助我们轻松处理跨层级的数据。”

总而言之,在为2008年欧洲杯现场直播做准备的过程中,ORF 公司非常满意将Sports 数据库及其相关的数据仓库升级到SQL Server 2008所带来的好处。在直播的过程中,ORF 公司可以更快速的为解说员提供分析结果以及关键数据,并且SQL Server 2008中的一系列新功能使得信息的管理、审核、以及加密变得更加轻松

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3