APP下载

提高协同办公系统高并发时运算速度

2018-05-08李金讯

电子技术与软件工程 2018年22期
关键词:性能分析

李金讯

摘要 随着我国协同办公系统在实际应用环节的增多,传统的协同办公已经无法从根本上满足人们实际的办公需求,由此,如何通过现阶段的科学技术在实际协同办公系统环节的应用提升实际的办公系统运行性能,成为了我国办公管理者们研究的重点,其中高速缓存装置便是其中最为常见的处理方法。本文通过对Redis高速缓存的阐述,研究这一模式在协同办公系统中应用的措施,进而以期在根本上促进我国协同办公系统的实际运行效果。

【关键词】高速缓存 协同办公系统 性能 分析

协同办公系统在我国已经应用了数年的时间,但是随着时代的进步、科学技术的变革,传统的协同办公系统已经很难在根本上满足我国办公系统使用者们的实际需求情况,由此,为了保证实际工作中办公系统的使用需求,针对协同办公系统有关性能的优化工作追在眉睫。与此同时,随着我国对高速缓存的研究不断深入,高速缓存技术已经逐渐代替了原有系统中常见的主记忆技术,并能够更好的针对办公系统使用者的需求进行更加快速的记忆读取操作。由此,如何将高速缓存技术应用在实际的协同办公系统中,成为了我国企业办公管理人员研究的重点。

1 协同办公系统现状及使用缓存目的

1.1 现状分析

目前协同办公系统登录、查阅公文、业务办理等热点数据都是基于数据库读取,不仅浪费网络带宽资源、存储1/0资源,增加数据库负载,而且热点数据读取效率较为低下,通过高速缓存技术,使热点数据直接从缓存读取,不仅可以大大提升网络带宽,降低磁盘I/O,还能整体提升数据的读取效率,进一步提升系统性能。

1.2 使用缓存目的

缓存的目的在于加快速度,但数据本身非永久持久化,不提供数据可靠性保证。适用于使用频度很高,数据变化不大的数据块。在分布式应用中,远程调用需要互相共享的信息也适用缓存来处理。

2 应用高速缓存提升协同办公系统性能的方法

2.1 Redis高速缓存介绍

Redis是一个存储系统。它支持存储的value类型相对更多,包括链表、字符串、有序集合和集合。这些数据类型都支持remove/push /popiadd及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基礎上,Redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。同时Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了主从同步,当前Redis的应用已经非常广泛。

2.2 设计思路

2.2.1 调用过程

调用过程如图l所示。

2.2.2 分片和节点故障策略

按图2的部署方式每次客户端返回实例前,会验证是否分片列表中的服务都存活。不存活则剔除,分片列表。当redis从节点出现问题的时候。缓存服务继续可用。运行平台守护进程会立刻重启挂起的redis节点,节点会读取内存快照,同时从主服务器同步数据,服务不中断,数据没有影响。

2.2.3 单机故障策略,

如图3所示,统一入口主要是为了客户端程序透明的调用服务。

2.2.4 安全性

缓存服务在redis客户端的基础上,简单扩展了命名空间的概念。命名空间的实现主要是通过加Key前缀实现。命名空间在初始化客户端服务时确定。考虑到单个应用和服务不会使用很多命名空间。因此要求使用时,在spring的配置文件中进行显式的配置。

在客户端的操作类中,生成一个隐式参数,随SSB上下文到达缓存远程服务。远程服务验证该参数,以验证调用方的合法性。在不反编译代码的情况下,调用方就不能轻易获取服务器的连接地址和参数。

2.2.5 对缓存的控制

(1)对基础设施的总内存大小进行控制。

在基础设施搭建时,可以对基础设施使用的内存进行一个初始化限制,防止过度使用内存。考虑对每个命名空间使用内存进行限制,同时可以动态调整。

(2)单次提交数据大小控制。

客户端的API实现中,对提交数据的大小进行控制。单次提交数据大小控制为IM。为了兼顾性能,暂时不进行数据压缩。在使用过程中,可以进一步进行调优。

(3)调用次数控制。

在缓存服务端,针对每个命名空间的初始化请求进行统计。

2.2.6 缓存控制实现

如图4所示,基于以上结构缓存客户端第一次初始化时,会从ssb注册中心上,调用一次缓存服务初始化。服务会返回基础设施的一些相关参数。之后客户端可以直连redis。同时,服务还会返回针对这个服务/应用的控制参数。目前主要是可用空间。返回后.客户端会将这个值存在内存对象中,操作时根据这个值,进行控制。

2.2.7 命名空间扩展

利用redis的特性。我们构造了缓存命名空间的概念。实现手段主要是利用redis可以存储多种数据格式的特征。为每个应用/服务生成了一个hashmap。实现了命名空间的数据隔离。缓存客户端使用缓存时,API会自动将KV对,存入应用服务标识为key的hashmap中。应用服务标识由API自动取。

但是根据使用需求的扩展。单个命名空间不能满足需要。这时,API中提供了一个命名空间申请的功能。申请通过ssb访问缓存服务端。服务端进行记录,记录成功后,应用可以使用新的命名空间。申请空间,服务端重新建立一个hashmap提供给应用服务使用。应用服务可以进行清理等操作。

2.2.8 缓存空间

(1)自定义超时时间数据。API中新加入自定义超时时间的数据类型。根据使用需要。可以自定义该Key的过期时间。单位是分钟。有上下限制。该类型数据除非被更新时间,否则过期时间以后,redis自动进行删除。用来支持session类型的应用。由于redis群集化部署,群集数据同步需要一定的时间。所以带来了一定的故障风险。该风险只能加快群集同步时间来尽量避免。

(2)普通使用的数据。API中的增加和读取方法。客户端会自动为key加上一个过期时间。之后每次操作key,都会自动延长过期时间。而如果key在set后,一直没有操作过。则默认时间后,key过期后,自动删除数据。

(3)缓存统计。目前设计上报结构数据主要包含:

1写入的大小记录。每次写记录,用于上传进行统计。

2读取记录。Key,读取次数。可以上报后,进行统计。

客户端统计数据的结构,封装在API中。API在每次客户端动作时进行更新。为了提高性能,统计数据存在内存中用于上报和更新。重启应用后,数据就清空。因为每次操作都需要记录,所以放到内存中,减小对速度的影响。

缓存客户端初始化时,会自动触发一个static Timer。Timer会定期调用缓存的服务端,以便上传统计数据,同时更新控制数据。统计数据对象可以抽象,以供其他需要统计的服务使用。缓存服务主要统计调用次数,时间。以供分析和进一步完善控制。

3 实现的结果

通过使用Redis高速缓存技术,海南电网协同办公系统性能提高20%-30%的处理能力,为海南电网构建了一套高性能、安全可靠的协同办公系统,为各级领导和工作人员提供了优质服务。

综上所述,本文通过对Redi高速缓存在协同办公系统中提升系统运行性能方面的优势和措施进行研究、分析,以期能够在一定程度上帮助我国未来协同办公系统更加高效、准确的应用同时促进我国新型办公模式的发展,进一步的优化我国企业办公模式的高效。

参考文献

[1]郭伟,余亚华,大数据时代地方高校OA协同办公系统发展策略研究[J],江汉大学学报(社会科学版),2017,34 (01):103—108+127-128.

[2]吴建平,虞益诚.基于Web Service的协同办公系统体系结构与实现的探究[J],计算机应用与软件,2007 (09):124-126.

猜你喜欢

性能分析
隐蔽失效适航要求符合性验证分析
提供将近80 Gbps的带宽性能 DisplayPort 2.0正式发布
电力系统不平衡分析
电力系统及其自动化发展趋势分析
PP—g—GMA的制备及其增容PP/PA6共混物的性能
Al-Se双元置换的基于LGPS的thio-LISICON的制备与性能表征
580 MPa 级热轧高扩孔钢的组织与性能
强韧化PBT/PC共混物的制备与性能
中西医结合治疗抑郁症100例分析
RDX/POLY(BAMO-AMMO)基发射药的热分解与燃烧性能