APP下载

B/S 架构下应用支撑平台的研究与实践

2020-11-05陈小东

科学技术创新 2020年32期
关键词:快照调用页面

周 敏 陈小东

(江苏省靖江中等专业学校,江苏 靖江214500)

“应用支撑平台”(以下简称“平台”)是介于大数据层和应用服务层之间的数据接口层,它对应用层提供数据服务功能。通过引入平台,要求所有应用去数据库化,原本属于各应用的数据统一存储到大数据层,确保数据唯一、共享,消除信息孤岛,同时,平台将数据层隐藏起来,信息安全也得到有效保障。

1 方案设计

Web Service 是一段部署在Internet 或Intranet 上的业务逻辑,它实现了一种在异构环境中各个应用之间交换数据的方法,因此,通过Web Service 的部署可以实现应用支撑平台的功能。

平台核心功能框架如图1 所示。

图1

管理员可以通过“数据库快照”功能将大数据的数据结构抓取到平台数据库,然后通过“接口管理”模块部署不同功能的接口。

应用服务根据业务需求调用相应接口,调用时需要传递身份信息和数据参数,身份、授权验证通过后可以实现对大数据的读写。

2 平台实现

笔者使用C#语言在.NET 平台上进行平台的研发,先使用动软代码生成器工具生成主体框架,然后进行定制开发。

2.1 数据库快照

数据库快照包括大数据中各表、表字段和表间约束关系等信息,抓取快照的目的是在部署接口时可以离线呈现数据库结构,方便自动生成SQL 语句。

(1)功能设计

数据库快照抓取界面如图2 所示。

图2

管理员填入数据库的连接字符串后,点击“获取数据库”可以获取Oracle 服务器上的所有数据库名称,选择需要抓取快照的数据库,点击“抓取快照”可以将指定数据库的结构抓取到平台数据库中。

重复抓取可以覆盖现有数据库快照信息,如果大数据中少量结构发生改变,可以使用图中“抓取表”、“抓取字段”和“抓取主键”等按钮进行逐个表结构快照的更新。

(2)快照抓取

数据库快照功能的核心是抓取快照,第一步是抓取表和字段信息,其中字段信息包括字段名、字段类型、字段宽度、是否允空、默认值和字段说明等信息,第二步是抓取参照完整性约束信息,这部分信息用于SQL 语句的生成过程中条件部分的确定。流程图如图3 所示。

图3

2.2 接口管理

(1)接口和接口文件

.NET 平台中使用后缀为asmx 的文件部署Web Service 接口,因为应用支撑平台需要动态部署各个接口,所以无需将接口代码封装成程序集,平台通过直接创建asmx 文件来实现对接口的管理。

对大数据中的每个表均部署一个接口文件,新建的接口文件中包括一个该表的实体类和一个将行记录转换成实体类对象的转换类。

(2)接口部署

应用对数据的访问主要是增、删、改、查四种操作,根据对应的SQL 语句的语法结构,可以自动生成接口代码并部署。接口部署界面如图4 所示。

图4

图中是部署一个可以实现对T_JJZZ_JSPX_ZBMC(教师评学_指标名称)表进行数据查询的GetList 接口,根据业务逻辑确定各部分参数后,点击“保存”按钮,即可在该表接口文件中添加一个WebMethod。

“保存”按钮的核心功能是首先根据接口名、接口返回值类型、接口条件生成接口函数原型,然后根据接口函数原型、输出字段、接口条件和排序依据生成SQL 语句,最后组合身份验证模块生成接口函数代码并部署。

(3)接口授权

每个需要接入平台的应用都有一个账号,平台根据业务需求动态部署接口,并对应用账号进行接口访问授权,最终形成账号、接口的授权矩阵,此矩阵作为身份、授权验证的依据。

3 性能分析与改进

3.1 性能分析

笔者完成了对学校现有“教师评学”应用的数据访问层代码的升级,实现了调用平台接口对数据进行访问的体系架构。

通过对“教师评学”应用中“查询”和“统计”两个页面的多次测试,直接访问数据和通过平台访问数据两种模式下的耗时情况汇总如下表所示(表中时间单位为毫秒):

查询页面 统计页面 次数 直接访问 使用平台 直接访问 使用平台 1 174 238 421 584 2 111 250 369 590 3 113 231 372 559 4 113 240 370 565 5 92 235 374 558 6 111 243 389 558 7 146 242 372 568 8 113 244 370 574 9 113 254 373 566 10 109 244 379 551 平均值 119.5 242.1 378.9 567.3 耗时增加率 102.6% 49.7% 数据访问次数 3 4

从表中数据可以看出:

(1)使用平台时页面的响应耗时明显增加,这是因为多了接口调用和网络传输等时间消耗所致。通过简单计算,每次平台接口调用增加的耗时约在30~50 毫秒。

(2)因为统计页面比查询页面数据计算量大,所以统计页面的“耗时增加率”小很多,可以粗略认为“耗时增加率”与页面数据计算量耗时成反比。

因为两个页面的绝对耗时都远小于1 秒,所以从目前测试结果看,性能下降的幅度是可以接受的。

3.2 改进途径

(1)提升硬件条件。可以将平台部署到中心机房的专用服务器上,并与数据库服务器专线连接,提高平台的处理能力。

(2)云部署接口。通过对平台接口的负载分析,将接口进行云部署,提升接口访问的并发能力。

(3)优化平台。可以通过对WebMethod 代码进行优化、将热数据预读到内存等方法提升平台的响应速度。

猜你喜欢

快照调用页面
刷新生活的页面
面向Linux 非逻辑卷块设备的快照系统①
EMC存储快照功能分析
答案
让Word同时拥有横向页和纵向页
核电项目物项调用管理的应用研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
一种基于Linux 标准分区的快照方法
让时间停止 保留网页游戏进度
利用RFC技术实现SAP系统接口通信