- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈用SQL实现工作流的并发控制的论文.doc
浅谈用SQL实现工作流的并发控制的论文
论文关键词:工作流 并发控制 sql 数据约束 任务约束
论文摘要:工作流技术在信息系统的应用中,并发控制机制的设计是经常要面临的问题。给出一种基于将工作流中数据和任务分离的工作流并发控制机制,在保证工作流正确性的前提下,引入“数据约束”和“任务约束”的概念来提高工作流的工作性能和降低工作流设计的复杂性,并用数据库中sql语言强有力的约束控制加以实现。
1引言
工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述川。工作流模型建立的目的是为了实现业务过程自动化和用计算机来执行,这就要求工作流模型不仅能够描述活动及其他们之间的相互连接关系,而且需要定义其他许多的信息,如组织、数据、资源等,同时对工作流模型的准确性有很高的要求。
目前的工作流业务系统对系统运行过程中出现的并发访问和异常错误的解决还存在一定的缺陷。工作流实例在运行过程中,有可能出现多个活动同时访问共享资源的情况,多个活动在数据操作上会相互重叠。为了保证系统能够正常运行,必须进行并发控制(concurreneycontrol),防止出现“脏数据”,等现象。
在本文中,我们将主要讨论如何用sql来实现工作流的并发控制,防止出现“脏数据”等现象。解决这个问题的核心是如何让这些独立的活动能够拥有自己独立的数据,而在某个活动需要访问共享资源而又正被其他活动所拥有时,让其等待。.并发控制的实现必须有两个最基本的条件限制:①每个活动拥有共享资源的时间应该最短;②每个活动应该拥有尽可能少的共享资源[4l。同时,我们在寻找解决方法时还应考虑以下两个方面:①不能过多地增加工作流设计的难度;②尽可能地利用现有数据库系统所提供的服务功能来实现。
为了达到以上的要求,我们引入类似传统“锁”机制的“约束”机制来实现。这里的“约束”是一种临时的、强加在数据项(数据约束)或者任务状态信息(任务约束)上的一致性限制。数据约束主要控制数据项的修改,而任务约束主要控制任务中各个活动间的执行顺序,因而工作流中各活动间的相互关系可以通过控制对数据库的访问和限制各个活动的执行顺序来体现,而这两者的限制均能通过数据库管理系统(dbms)中的sql查询语言来实现。
2一个工作流实例
工作流根据所实现的业务过程可以分为管理型工作流(adillinistrative(advancedtransaetionmodel)方法、transaetionaltaskinte脚tion、语义锁(semantieloeking)和冲突说明(conflietspeeifieation),但是工作流的形式过于多种多样,单一的一种解决方法没法满足具体的某一工作流的需要,因而我们在项目开发的实际过程中采用了一种基于将数据和任务分开的方法,类似于操作系统中进程主体与系统资源分开,而进程主体应获得其最小资源的思想。它综合考虑了以下3个因素:①工作流执行的正确性;②工作流的系统性能;③一工作流模型建立和管理的复杂度。
我们分析前面两种需要串行化操作才能完成的情况,整个过程基本上都是通过不停地访问数据库来实现的,其中最主要的就是对数据库的读写操作。我们把一组不可分割的数据库操作视为一个原子操作,同时我们把任务或活动主体完成这一操作需要访问的共享资源视为临界资源。多个任务访问和拥有这些资源必须满足“空闲占有,忙则等待”的原则。
为了将数据和任务分开,同时能保证数据库中数据的正确性、有效性和一致性,并且能满足数据库中自定义的各种完整性约束规则,我们引入了“数据约束”和“任务约束”。我们的思想是运用类似于典型的并发控制中的“锁”约束来实现数据库的完整性和一致性约束,但是它又不同于“锁”约束。我们引入的“数据约束”和“任务约束”是一个短时间的约束控制,他们随着工作流实例的启动而创建,随着工作流的结束而撤销。另一方面,“数据约束”随工作流或者任务实例的输入参数的不同而不同,不同的实例将建立不同的“数据约束”和“任务约束”。“数据约束”主要是为了保证正确的数据输入能够得到正确的数据输出,同时实现数据库中的各种静态约束、动态约束和自定义约束,而“任务约束”是为了保证工作流中各个任务能够按照他们之间的相互关系、前后顺序正确地执行。在上述工作流中,我们将实现某一活动执行的正确性和控制多个活动间的执行顺序作为两个目标来分开处理。譬如在库存检查中,“数据约束”是为了保证满足库中的物资数量不能低于最低数量的限制,而“任务约束”是为了保证领料单只有在执行完库存
您可能关注的文档
- 浅谈现代教育技术在体育教育学中的运用的论文.doc
- 浅谈现代教育技术在高校体育教学中的意义及作用的论文.doc
- 浅谈现代教育技术对体育老师专业化发展的影响的论文.doc
- 浅谈现代教育技术理论指导下的教改思路的论文.doc
- 浅谈现代教育理念下对辅导员工作的新认识的论文.doc
- 浅谈现代教育观指导下的发展性评价机制的建立的论文.doc
- 浅谈现代暖通空调设备安装的施工问题与解决方案的论文.doc
- 浅谈现代水利工程施工技术的论文.doc
- 浅谈现代水利工程建设对生态环境的影响的论文.doc
- 浅谈现代汉语在文化基础教育中的重要性的论文.doc
- 临床医师三基考试综合卷含答案12.15(等级评审备考).doc
- 1.3物质的变化教学课件-九年级化学科粤版上册.pptx
- 高考语文复习文学类文本阅读赏析小说语言(品味小说语言艺术).docx
- 山东省烟台市2021年中考道德与法治真题(解析版).docx
- 高三信阳市1月内部特供卷化学(六)学生版.pdf
- (精品课件)专题5现代诗歌阅读分点突破鉴赏诗歌形象语言表达技巧与思想情感.pptx
- 高考二轮复习课件数学(基础版)专题4概率与统计专题检测4.pptx
- 25.2 用列举法求概率(第1课时).ppt
- 全等三角形-八年级数学上册课件(沪科版).pptx
- 人教版九年级全册Unit2 I think that mooncakes are delicious SectionA1a-2d第一课时课件+音频.pptx
最近下载
- 河北唐山社区工作者考试题库.pdf VIP
- 中职 信息技术(基础模块)(下册)任务3 制作简单数字媒体作品教学课件 工信版.pptx VIP
- 詹新惠-网络与新媒体概论-第7章.pptx VIP
- 《防治煤与瓦斯突出细则》重点环节解读课件.pptx VIP
- 《中华人民共和国广告法》培训解读课件.pptx VIP
- 2025届四川新高考物理复习“指向关键能力培养”的备课策略.pdf VIP
- 基于多元化数据融合的虚拟货币地址实体识别方法及系统.pdf VIP
- 适老化改造施工中的工程质量监控与验收标准.docx VIP
- 美剧剧本绝望主妇台词本中英文对照精排版第一季第一集.pdf VIP
- 《团结就是力量》《没有共产党就没有新中国》 课件 花城版七年级上册.pptx VIP
文档评论(0)