- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Domino自动分库功能实现与应用
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架构应用了许多年,随着协同办公系统在油田应用的深入,各类业务数据不断增长,Domino数据库不断膨胀,甚至超过最大64G的限制。当数据库里数据达到一定程度后,数据库读、写性能明显下降,以至于会影响整个应用系统的性能。虽然Domino本身提供归档等功能,但只能在一定程度上缓解数据库膨胀问题。对于要求一直在线访问的数据,并且数据量增长迅速的应用,归档则无能为力。本文主要讨论在Domino平台上,充分利用其开发和应用方面的特性,结合以往的实际经验,实现一种能够根据设定的数据量自动分库,同时对应用透明的功能。
1 Domino平台简介
Domino是一个群件平台,提供了一个简化的、高安全性的实时工作环境,版本由4.X到8.X,平台功能不断升级和增强。在企业中利用其强大的业务应用、协作应用和通讯应用,能快速开发行政办公、业务管理以及个人事务处理等系统,提高了员工的工作效率,简化了业务流程,提高了企业业务的响应能力。
2 设计实现
进行基于Domino的应用开发,主要使用Domino的数据库对象。数据库对象集数据存储、表单、视图、代理等于一身,应用的开发可以使用一个或多个数据库。为了降低开发难度,提高开发效率,大多选择一个数据库进行应用开发。因此,数据和设计元素都存储在这个数据库中,库数据量的膨胀就不可避免。
2.1 分析
在我们企业中采用Domino的B/S架构进行开发和应用,要解决数据库数据量快速膨胀问题,同时不增加开发难度,本文对数据库的存储、读取以及安全控制等进行分析。
(1)Domino的安全控制是分层的,只有通过对服务器、数据库、文档以及域的正确授权才能正常访问信息。因此分库后的新库,要与原数据库的访问权限、文档的授权方式保持一致,才能保证用户正常访问数据库,保障文档的个性化授权可用。
(2)Domino的Web应用是把设计元素转换成浏览器能够运行的标准的HTML进行展示;在存储时,服务器获取前端表单控件中的数据,与后端表单中的域对应,然后按照后端表单的设计方式存储在数据库里。因此,分库后必须按照这种方式进行访问和存储。
(3)Domino数据库的膨胀是由文档附件、文档域过多引起的。控制域的数量、不保存附件,然后定期进行压缩处理,在同等文档数的情况下,数据库年膨胀率仅为10%左右。
2.2 设计
经过以上两个方面的分析后,结合实际的应用经验建立了如图1所示的应用框架。这个框架中包括Index库(访问入口库)、模板库和运行时的文档库。
(1)以Index库作为访问入口,负责根据配置文档所记录的文档库名跳转到文档库访问真正的文档;建立定时代理检测配置文档的分库阈值与当前文档库的尺寸对比,超出则根据模板新建一个文档库,用新库名替换配置文档中所存储的库名;Index库必须建立用于文档分类、全文索引等所需的设计元素。
(2)建立文档库模板,在档库模板中创建必需的设计元素以及回写代理,并对模板进行必要的用户访问权限配置。
(3)在文档库中创建文档时,回写代理要把文档权限写回到与之对应的Index库中的文档里,保证文档权限的访问正确性。
2.3 功能实现
2.3.1 Index(访问入口库)
(1)建立一个表单,表单里放置subject、creatdate、category等用于存储应用数据的域,放置reader、author等用于安全控制的安全域,同时放入内置HTML,内容为
location.href=;
“计算的值”设置为URL域。
(2)建立数据库简要表,保存文档库的数据库名称,主要代码如下:
Set proDoc = thisDb.GetProfileDocument(thisDoc.F_Form(0))
Call thisDoc.RemoveItem(F_Form)
Call thisDoc.CopyAllItems(proDoc,True)
Call Doc
您可能关注的文档
最近下载
- 咽喉用药市场白皮书.pdf VIP
- 临时用电施工方案.doc VIP
- 民族区域自治制度优秀教学课件.pptx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第10章-使用 Python 语言实现机器学习模型-回归分析.pdf VIP
- Lesson 3 at the seaside(课件)典范英语三年级上册.pptx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第9章-机器学习概述.pdf VIP
- 主体性概念的历史演变与理论探讨.docx VIP
- 普外科质量与安全管理小组活动记录.docx VIP
- 医院急性创伤患者救治流程.pdf VIP
- 讲义 16 分式讲 16 分式.doc VIP
文档评论(0)