domino自动分库功能的实现与应用

domino自动分库功能的实现与应用

ID:12973505

大小:28.50 KB

页数:7页

时间:2018-07-20

domino自动分库功能的实现与应用_第1页
domino自动分库功能的实现与应用_第2页
domino自动分库功能的实现与应用_第3页
domino自动分库功能的实现与应用_第4页
domino自动分库功能的实现与应用_第5页
资源描述:

《domino自动分库功能的实现与应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Domino自动分库功能的实现与应用  [摘要]本文从实际应用的角度,讨论了基于Domino平台的协同办公应用中数据库膨胀的原因以及解决方案。从技术实现的角度,进行了分析设计;结合LS开发技术,讨论了实现功能的通用方法和步骤,给出了实际应用的实例和效果供参考。  [关键词]分库;入口库;文档库;代理  doi:10.3969/j.issn.1673-0194.2013.15.035  [中图分类号]TP317.1[文献标识码]A[文章编号]1673-0194(2013)15-0054-03  在大庆油田协同办公领域,基于Domino的B/S架构应用了许多年,随着协同办公系统在油田应用的深入

2、,各类业务数据不断增长,Domino数据库不断膨胀,甚至超过最大64G的限制。当数据库里数据达到一定程度后,数据库读、写性能明显下降,以至于会影响整个应用系统的性能。虽然Domino本身提供归档等功能,但只能在一定程度上缓解数据库膨胀问题。对于要求一直在线访问的数据,并且数据量增长迅速的应用,归档则无能为力。本文主要讨论在Domino平台上,充分利用其开发和应用方面的特性,结合以往的实际经验,实现一种能够根据设定的数据量自动分库,同时对应用透明的功能。  1Domino平台简介  Domino是一个群件平台,提供了一个简化的、高安全性的实时工作环境,版本由4.X到8.X,平台功能不断升级和

3、增强。在企业中利用其强大的业务应用、协作应用和通讯应用,能快速开发行政办公、业务管理以及个人事务处理等系统,提高了员工的工作效率,简化了业务流程,提高了企业业务的响应能力。  2设计实现  进行基于Domino的应用开发,主要使用Domino的数据库对象。数据库对象集数据存储、表单、视图、代理等于一身,应用的开发可以使用一个或多个数据库。为了降低开发难度,提高开发效率,大多选择一个数据库进行应用开发。因此,数据和设计元素都存储在这个数据库中,库数据量的膨胀就不可避免。  2.1分析  在我们企业中采用Domino的B/S架构进行开发和应用,要解决数据库数据量快速膨胀问题,同时不增加开发难度

4、,本文对数据库的存储、读取以及安全控制等进行分析。  (1)Domino的安全控制是分层的,只有通过对服务器、数据库、文档以及域的正确授权才能正常访问信息。因此分库后的新库,要与原数据库的访问权限、文档的授权方式保持一致,才能保证用户正常访问数据库,保障文档的个性化授权可用。  (2)Domino的Web应用是把设计元素转换成浏览器能够运行的标准的HTML进行展示;在存储时,服务器获取前端表单控件中的数据,与后端表单中的域对应,然后按照后端表单的设计方式存储在数据库里。因此,分库后必须按照这种方式进行访问和存储。  (3)Domino数据库的膨胀是由文档附件、文档域过多引起的。控制域的数量

5、、不保存附件,然后定期进行压缩处理,在同等文档数的情况下,数据库年膨胀率仅为10%左右。  2.2设计  经过以上两个方面的分析后,结合实际的应用经验建立了如图1所示的应用框架。这个框架中包括Index库(访问入口库)、模板库和运行时的文档库。  (1)以Index库作为访问入口,负责根据配置文档所记录的文档库名跳转到文档库访问真正的文档;建立定时代理检测配置文档的分库阈值与当前文档库的尺寸对比,超出则根据模板新建一个文档库,用新库名替换配置文档中所存储的库名;Index库必须建立用于文档分类、全文索引等所需的设计元素。  (2)建立文档库模板,在档库模板中创建必需的设计元素以及回写代理,

6、并对模板进行必要的用户访问权限配置。  (3)在文档库中创建文档时,回写代理要把文档权限写回到与之对应的Index库中的文档里,保证文档权限的访问正确性。  2.3功能实现  2.3.1Index(访问入口库)  (1)建立一个表单,表单里放置subject、creatdate、category等用于存储应用数据的域,放置reader、author等用于安全控制的安全域,同时放入内置HTML,内容为    location.href="";    “计算的值”设置为URL域。  (2)建立数据库简要表,保存文档库的数据库名称,主要代码如下:  SetproDoc=thisDb.GetPro

7、fileDocument(thisDoc.F_Form(0))  CallthisDoc.RemoveItem("F_Form")  CallthisDoc.CopyAllItems(proDoc,True)  CallDocumentSave(proDoc,"",True)  (3)建立定时检测代理,检测文档数据库的大小,与设定值比较,超过设定值则建立新库,主要代码如下:  Setprodoc=db.GetProfil

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。