并发控制

2025-01-31

并发控制(精选11篇)

并发控制 篇1

并发性可以定义为允许多个进程同时操作共享数据的能力。在不互相干扰的前提下, 并发执行的用户进程的数量越多, 数据库系统的并发性就越强。随着信息化的普及和互联网的飞速发展, 应用程序的用户越来越多, 对并发性的要求也就越来越高。在许多情况下, 对并发性的处理直接关系到一个项目的成败。

1 数据库的并发问题

如果没有锁定且多个用户同时访问一个数据库, 则当他们的事务同时使用相同的数据时可能会发生数据不一致问题, 这就是并发问题。他包括:

1.1 丢失更新。

当两个或多个事务选择同一行, 然后基于最初选定的值更新该行时, 会发生丢失更新问题

1.2 未确认的相关性 (脏读) 。

当第二个事务选择其他事务正在更新的行时, 会发生未确认的相关性问题。

1.3 不一致的分析 (非重复读) 。

当第二个事务多次访问同一行而且每次读取不同的数据时, 会发生不一致的分析问题。

1.4 幻象读。

当对某行执行插入或删除操作, 而该行属于某个事务正在读取的行的范围时, 会发生幻象读问题。

2 SQL Server的并发处理机制

SQL Server使用锁定确保事务完整性和数据一致性。锁定可以防止用户读取正在由其他用户更改的数据, 并可以防止多个用户同时更改相同的数据。大多数情况下, 你不用关心如何为资源加锁, 使用什么类型的锁, 这些都是SQL Server自动控制的。但可以通过了解锁并在应用程序中自定义锁来设计更有效的应用程序。

2.1 锁粒度

SQL Server具有多粒度锁定, 允许一个事务锁定不同类型的资源。锁定在较小的粒度可以增加并发但需要较大的开销, 因为如果锁定了许多行, 则需要控制更多的锁。锁定在较大的粒度就开发而言是相当昂贵的, 因为锁定整个表限制了其他事务对表中任意部分进行访问, 但要求的开销较低, 因为需要维护的锁较少。

SQL Server可以锁定的资源如表1所示:

2.2 锁模式

SQL Server使用不同的锁模式锁定资源, 这些锁模式确定了并发事务访问资源的方式。SQL Server支持的锁模式如表2所示:

2.3 隔离级别

前面已经介绍了锁模式和锁资源的粒度级别, 它们可以在一定程度上控制并发。在这个基础上, 隔离级别定义了各个并发事务之间的隔离程度。SQL Server定义了四种隔离级别, 分别是未提交读、提交读、可重复读和可串行读。这四种隔离级别允许不同类型的行为, 如表3所示:

2.4 新增的快照机制

SQL Server2005中引入了一项被称为行版本控制的技术。利用该技术, 在事务修改数据之前会在tempdb数据库中存储一份具有一致性的数据副本, 这样当进程需要读取数据时, 不必请求资源上的共享锁, 可以直接从tempdb数据库的版本存储区中读取, 因此它不会与写进程发生冲突, 从而提高了并发性。

3 提高系统并发性的一些措施

通过了解SQL的并发控制机制, 我们根据减少锁、减少保持锁的时间、减少冲突的原则, 提出一些提高系统并发性的措施:

3.1 优化SQL语句的性能, 尤其是SELECT语句的性能。首先, 减少SQL语句的运行时间可以缩短该语句在资源上保持锁的时间, 从而允许更多的互斥操作。其次, 多数SELECT语句的性能问题都是因没有合适的索引, 或者即使有索引但未利用索引所导致的。通过创建合适的索引或优化SQL语句使之利用索引, 从而也就避免了在表中的所有行或整个表上保持锁。

3.2 使用尽量短的事务, 尤其是要避免在事务执行期间与用户交互。这样可以减少锁的保持时间。

3.3 在读写操作过多导致大量死锁的系统中使用快照隔离级别或已提交读快照隔离级别, 但这时要特别注意优化tempdb数据库。

3.4 如果不能使用快照, 则尽量使用较低的隔离级别。隔离级别越低, 允许的并发性越高, 反之亦然。

3.5 采用合适的RAID磁盘阵列系统。数据文件适合使用RAID10磁盘阵列, 而日志文件通常使用RAID1就足够了。另外, 因为日志是连续写入的, 把日志文件和数据文件放在同一个磁盘驱动器会推迟数据操作, 所以, 最好把日志文件放到单独的磁盘驱动器。

3.6 对大量数据使用分区表, 通过把请求均匀分布到各个分区来提高并发性。但要注意把每个分区放到不同的磁盘驱动器才能最大限度地发挥它的优化作用。

3.7 通过复制把数据库发布到多个物理的服务器, 以实现数据库级的负载均衡。

参考文献

[1]李春葆.数据库原理与应用[M].北京:清华大学出版社, 2006.

并发控制 篇2

智齿的阻生或错位易使食物残渣嵌塞在第二磨牙与智齿的牙间和牙周缝隙中,很不容易清除,常发生龋齿。据调查;下颌第二磨牙牙颈部平均龋患率为16.4%,不同年龄阶段龋患率有显著不同,20岁时仅为3.7%,50岁则高达27%。可见,拔除阻生或错位智齿是预防第二磨牙龋坏的关键,而且对已发生的较浅的龋变也可能使其不再发展。

2、牙列不齐

14-18岁是智齿萌生的最活跃时期,但因颌骨骨量与牙量间的不平衡,可供智齿萌出的空间是有限的。因此,智齿萌出运动的推动力常是造成牙齿拥挤和排列不整齐的主要原因之一。这种萌出运动的持续推动力只要有4~5克,就足以对第二磨牙产生影响。因此,第二磨牙发生错位,扭转等较为多见,约占牙颌畸形患者的20%左右,其中约有80%发生在下颌第二磨牙;以青少年居多,女性约是男性的1.6倍,第二磨牙的错位,会使上下方的咬 颌接触面积减少,人的咀嚼功能明显降低。

3、邻牙及支持组织的吸收

下颌智齿的牙胚在发育过程中,牙的长轴本来是向前方倾斜的,只是在有足够下颌发育时才逐渐直立萌出,当萌出过程中受阻于第二磨牙时,该处就会产生附着第二磨牙牙根表面的毁齿细胞。毁齿细胞可释放出溶蛋白酶而使牙根逐渐吸收,严重者可使下颌第二磨牙远中牙根完全吸收。而且阻生智齿与第二磨牙间常存在的慢性牙周炎也会造成牙槽骨的炎症性吸收。

4、颅下颌紊乱症

下颌智齿的阻生或错位常会与上颌第二磨牙发生咬颌干扰而导致下颌病理性后缩,这是诱发颅下颌紊乱症的原因之一。临床主要表现为颞下颌关节的弹响、疼痛和下颌运动的异常,咀嚼肌的疼痛、耳鸣、舌痛等症状。许多患者在拔除阻生或错位的智齿后,由于阻断了诱发颅下颌紊乱的潜在因素而取得了明显疗效。

5、智齿周围囊性病变

颌骨的牙源性囊性病变好发于未萌出的埋伏牙,而下颌智齿萌出受阻的机率又最高,显然是主要的好发部位,当囊肿发展到一定程度度,颌骨可发生膨隆变形,遇有继发感染,还会反复肿痛,严重者还可造成病理性骨折。

6、口腔粘膜发生癌前病损

阻生和错位智齿的牙龈和颊粘膜,可因牙冠边缘的长期机械刺激或反复咬伤,而使粘膜发生溃疡、糜烂、组织异常增生及白斑等病理损害。如此长期的创伤修复再创伤过程会影响口腔粘膜上皮的正常角化而发生癌前病损,进而诱发口腔粘膜癌变。

7、智齿冠周炎

并发控制 篇3

张老师年逾六旬,5年前刚从学校退休不久就查出患有2型糖尿病。这些年来,他没少学习糖尿病方面的知识,深知高血糖对身体的危害,自己在生活上很注意,坚持用药从不马虎,血糖控制得一直不错,多次查空腹血糖都在7.0mmol/L以下。最近张老师到医院检查身体,却被医生告知惠有冠心病。对此,他深感疑惑:本人血糖控制良好,怎么还会出现并发症呢?

解读

类似张老师这种情况并非罕见,但其中的原因比较复杂,分析起来,大致包括以下几方面因素:

1.以血糖控制为中心,忽视对其他心血管危险因素的控制

糖尿病的大血管并发症(主要指心、脑及下肢血管)是多种危险因素共同作用的结果。因此,预防大血管并发症,仅仅控制血糖是远远不够的,还必须同时控制血压、血脂、血黏及体重,而且要控制达标。张老师的情况不能排除这方面的问题。

2.早在糖尿病前期,大血管并发症可能就已开始

早在糖尿病前期(即糖耐量损害及空腹血糖异常阶段),伴随着胰岛素抵抗的出现,大血管并发症可能就已经开始,并非都是患了糖尿病之后才出现。因此,目前强调:在处于糖尿病前期的高危人群,应当积极干预,这不仅是为了减少糖尿病的发生,同时,对预防大血管并发症也大有裨益。

3.餐后高血糖对心血管的危害更大

张老师的空腹血糖虽然控制尚可,但不表明他的餐后血糖也控制得好。目前认为,与空腹高血糖相比,餐后高血糖对全天乃至一段时期的总体血糖水平(临床常用HbAlc来表示)影响更大,与糖尿病的大血管并发症关系更密切,因而对糖尿病患者的危害也就更大。所以,糖尿病患者在进行病情监测时,不能只查空腹血糖,还要查餐后血糖及HbAlc。如果患者空腹血糖正常,但HbAl c升高,说明患者的总体血糖水平控制并不理想,很可能存在餐后高血糖。此时需要重新调整治疗方案,加强对餐后高血糖的控制,以减少糖尿病心血管并发症的发生。

4.严格控制血糖,并发症只是显著减少但不等于没有

多项研究证实:严格控制血糖可使糖尿病微血管并发症(即肾脏、视网膜及神经等病变)减少大约2/3,此外,对大血管并发症也有一定程度的降低。但是,“显著减少”不等于“完全没有”。不过,也切不可因为不能百分之百地防止并发症的出现,就放松了对血糖的严格控制,毕竟严格控制血糖的成效还是相当显著的。

5.波动性高血糖比稳定性高血糖的危害更甚

近年的研究表明,糖尿病慢性并发症的发生与发展不仅与整体血糖水平的升高密切相关,而且与血糖波动性(即忽高忽低)也有密切关系,血糖波动性越大,慢性并发症的发生率越高、预后越差。因此,在严格控制高血糖的同时,还应尽可能地避免出现低血糖,以减少血糖波动所带来的危害。有些糖尿病患者尽管血糖控制很严格,HbAlc也不高,但还是出现了并发症,这与经常发生低血糖、血糖波动性太大不无关系。

张老师的情况可能与上述几个方面的因素都有关系。总之,只有早期干预,全方位控制各种心血管危险因素(如血糖、血压、血脂、血黏、肥胖等),减少血糖波动,才能大大减少糖尿病慢性并发症的发生率。

基于用户优先级的并发控制策略 篇4

关键词:并发控制,2PL-HP,用户优先级

1 相关概念

1.1 2PL-HP

传统的基于锁的悲观并发控制机制两阶段锁 (2PL) 协议, 也是现在SQL SERVER默认使用的协议, 它是保证可串行化的一种基本的锁协议, 2PL-HP (2PL-high Priority) 是2PL协议的改进版, 采用偏向于高优先级事务的冲突解决方法。如果一个事务请求某个数据对象上的锁, 而这个数据对象已经被一个或者多个低优先级事务锁住, 则持有锁的事务被夭折。协议的优点是能够避免优先级反转与死锁问题, 但可能导致无效的重启, 即一个事务由于与一个较高优先级的事务冲突而重启, 但是这个较高优先级的事务随后因为数据冲突或错失截止期也被夭折。

1.2 优先级继承

这个概念是为了解决优先级反转的问题而产生的:当高优先级的任务请求一个被低优先级占用的共享资源时, 这个高优先级如果要执行就先必须等低优先级的任务释放这个资源, 如果在这个过渡时期中, 其它一些中等优先权的任务在也申请资源, 则会发生中优先权任务先于高优先权任务抢占资源, 于是正在释放资源的低优先级任务将暂时继承高优先级的权限直到资源被释放。

2 基于用户优先级的并发控制策略

2.1 基本思想

算法的基本思想是在以事务优先级的基础上增加事务使用者的用户权限, 从而达到权限高优先的事务成功率越高的目的, 另外为了减少并发过程中事务的不必要重启系统和系统资源的浪费, 事务优先级与用户优先级之间差值通过一定的算法来计算得出阈值t, 只有当综合优先级较低的事务的已响应时间大于阈值t时进行优先级继承, 从而让当前事务执行完成后再执行高优先级的事务。

2.2 相关定义

假设系统中每个事务都保持数据库的一致性, 则对于事务集合{T1, T2, …, Tn}的任何串行执行也都保持数据库的一致性。

定义1:定义一个事务预处理单元, 简称Pt。它是一个三元组Pt (T, UserPriority, F (t) ) , 其中三元组的含义如下:

·T为当前使用的事务。

·UserPriority为使用事务的用户权限, 为了方便, 可以将定义域设置为[0, 10], 10为最高权限。由使用者在应用程序提交事务时由系统提供。

·F (t) 为阈值t的计算公式。可以根据系统需求来设置各种计算公式, 从而灵活适应用户权限分布不同的各种系统。

定义2:对于任意执行中的事务T还有如下属性:N (T) 为事务访问的数据对象数;Priority (T) 为事务的优先级;s (T) 为事务的开始时间;d (T) 为事务的截止期;E (T) 为事务提交后的执行时间;已响应时间为从事务开始时间到当前的时间;最大剩余响应时间为事务能确保在截止期内完成事务的最大时间。具体如图1所示。

定义3:F (t) 公式从大类上分为2种:一类是事务优先级以及用户优先级都发生积极作用, 即请求的事务的两个优先级都高于当前执行的事务时, 使用的计算公式定义为阈值的积极计算方法 (Function Positive) , 简写成FP (t) ;另一种是事务优先级以及用户优先级产生互斥作用, 即请求事务和执行事务分别有一种优先级高, 使用的计算公式定义为阈值的消极计算方法 (Function Negative) , 简写成FN (t) 。

具体的公式可以根据系统权限的需求来进行设置, 只要确保公式满足条件就是优先级的综合差值与阈值t成正比。

常用的公式比如:

undefined

∈ (- (d (T) -s (T) -E (T) ) , d (T) -s (T) -E (T) )

T为申请事务, T’为运行中事务。当t<=0时就意味着申请事务的优先级的综合差值小于运行中事务优先级的综合差值。此公式可以同时满足FP (t) 和FN (t) , X, Y是常数。公式可以根据X, Y的设置来决定事务优先级与用户优先级对阈值t的影响效果。

2.3 算法描述

当一个事务T提交时, 首先检查所请求的所有数据d有没有被占用, 如果需要的数据没有被占用则执行事务T。

如果发现某个数据dn被事务T’占用着, 则进行判断,

当Priority (T’) <= Priority (T) :

根据UserPriority (T’) <= UserPriority (T) 或者UserPriority (T’) > UserPriority (T) 来分别选择相应FP (t) 或FN (t) 算法算出阈值t, 当已响应时间>t时事务T’继承T的事务优先级, T’继续执行, T阻塞;当已响应时间

当Priority (T’) > Priority (T) :

UserPriority (T’) >= UserPriority (T) 时, T’继续执行, T阻塞。

UserPriority (T’) < UserPriority (T) 时, 选择FN (t) 算法算出阈值t, 当已响应时间>t时事务T’继承T的用户权限优先级, T’继续执行, T阻塞。当已响应时间

整个流程的伪代码如下:

3 性能评估

3.1 实验模型

应用程序模拟一个用户参与事务进程, 对于每个用户, 程序先通过随机数分配一个用户优先级保证并发操作下的用户优先级各不相同从而来进行实验, 然后分别从并发用户总数, 用户权限个数, 单个事务运行时间, 限定总运行时间和确定优先级继承的阈值等各个参数的设置, 来实验得出各级别下事务的完成率以及事务重启率;并将程序模拟策略运行的结果与正常SQL运行下的结果进行比较。

3.2 实验结果

实验的性能测试结果分别如图2和图3所示。图2描述了在一定时间内用户权限的个数为10时, 模拟大量并发用户进行操作后各用户级别的事务完成率;2PL标准则是在相同情况下去只除去用户权限级别对事务的影响后再运行的结果。图3描述了在一定时间内用户权限的个数为3时进行的多次实验, 根据设置阈值t来得出事务的重启率。通过实验表明, 基于用户优先级的并发控制策略能有效保证高用户优先级的事务完成率, 并且在减少事务重起率上也有明显的效果。

实验中也有不足的地方, 由于实验是程序模拟协议执行, 在如何判别事务优先级的高低方面并没有更好的办法, 所以实验中都是使用固定的数值来表示当前存储过程的事务权限级来模拟并发, 势必与真实情况稍有不同。

4 结语

在针对为了设置用户使用权限来提高事务提交成功率的信息化系统中, 基于用户优先级的并发控制策略能够较好的满足系统的需求, 此外该策略还可以通过设计公式的方式灵活控制事务优先级的继承, 从而满足用户权限不同的各种系统的需求。当然从实验中看出还有地方有些不足, 如果要在实际环境中应用, 这些不足还是需要去进一步去细化及完善。

参考文献

[1]胡侃, 刘云生.基于截止期的可推测实时数据库事务并发控制[J].计算机工程与应用, 2007, 43 (34) :3-6.

沙眼的并发症 篇5

结膜瘢痕收缩和睑板弯曲畸形,使睑缘向内翻转,牵拉睫毛倒向角膜侧生长,睫毛摩擦角膜。

2、角膜混浊

倒睫持续摩擦角膜,刺激角膜出现新生血管,像垂帘状长入角膜,称之为沙眼角膜血管翳,严重的角膜血管翳及睑内翻倒睫摩擦角膜以致角膜溃疡,角膜混浊变白,视力下降。

3、睑球粘连

睑结膜与球结膜连接部为穹窿部,可因结膜瘢痕收缩而缩短,甚至完全消失,牵引下睑时在眼睑和眼球间的结膜可见有垂直的皱襞,使睑结膜与球结膜粘连。

4、结膜干燥症

由于结膜广泛结瘢,使杯细胞和泪腺分泌功能遭到破坏,泪腺管闭塞,导致结膜不能被湿润,而逐渐干燥,角结膜上皮发生角化,表现为干涩、刺痒等不适。

5、慢性泪囊炎

并发控制 篇6

关键词 经皮肾镜取石术 出血 药物保守控制 介入栓塞治疗

doi:10.3969/j.issn.1007-614x.2012.09.084

当前经皮肾镜碎石术已经成为上尿路结石主要的微创治疗手段,其比肾开放性取石术对患者损害小,预后好,恢复快,安全度高[1]。但术后并发症一直是外科手术不可避免的。术中大出血是其严重并发症,发生率极低,但发生后极为凶险,应引起足够重视[2]。对经皮肾镜取石术大出血原因及预防控制的研究一直为经皮肾镜取石术临床研究的热点。为此总结2010年1~12月160例经皮肾镜取石术中出血并发症发生的原因及诊治及疗效,为临床治疗提供参考依据。

资料与方法

2010年1~12月收治经皮肾镜取石术患者120例,男70例,女50例;年龄12~75岁,平均45.2岁。术前所有病例行入院常规检查,除外心肺等系统性严重疾病。所有病例肾结石长径1.9~4.0cm。左侧结石60例,右侧50例,双侧10例;全鹿角型结石15例,部分鹿角型结石15例,上盏结石10例,中盏结石10例,下盏结石10例,肾盂肾盏多发结石60例。合并高血压45例,并发糖尿病12例。

治疗方法:本组所有患者都采用经皮肾镜取石术,连续硬脊膜外腔阻滞麻醉或全麻成功后,截石位,在输尿管镜下向患侧输尿管插入F5输尿管导管,使其前端经过结石插入肾盂内,外接生理盐水持续灌注,最后留置气囊导尿管后改为俯卧位,使用超声定位,选择第12肋下腋后线附近穿刺肾中盏,穿刺成功后,沿穿刺针导入导丝,然后用筋膜扩张器顺着导丝扩张皮肤肾通道扩张,建立经皮肾取石通道。植入肾镜,行标准通道肾镜碎石术。经超声碎石系统将结石负压吸出后,退出肾镜,引流。

统计学处理:本组资料数据统计采用SPSS18.0计算机软件对计数资料行X2检验,以P<0.05为差异有统计意义。

结果

出血情况:经过观察,发生出血并发症12例,发生率7.5%。总出血量300~1200ml,平均600ml。其中男性患者发生出血10例,女性出血2例,男性患者发生出血的几率明显高于女性患者(P<0.05)。

出血后处理情况:12例出血患者均在出血后先行扩容、输血、药物止血、局部压迫,夹闭肾造瘘管等保守治疗,10例患者出血得以控制;2例患者症状不缓解或加重时急诊行介入栓塞治疗。所有患者都痊愈出院。

讨论

当前肾结石患者多行经皮肾镜取石术,同时设备的不断改进及手术技术的不断提高,手术适应证也将进一步扩大范围。在本组病例当中,高血压糖尿病冠心病等基础身体素质如下表,均成功完成手术[3]。

在手术治疗中,建立理想的工作通道是碎石取石成功的关键。肾盏颈部狭窄时不能粗暴扩张,应用输尿管镜取好角度逐步扩张,导丝最好能经肾盏到肾盂到输尿管,不能送入输尿管则尽可能将导丝送到积水的肾盂,超声测量好结石与皮肤的深度,在逐级扩张过程中,进入皮肤后调整穿刺针进入肾脏的角度。

出血是所有经皮肾镜取石术最常见的并发症[4]。术中出血是指在建立皮肾通道时损伤到血管,也可以是术中碎石损伤肾实质和肾盏颈部,造成明显的出血,例如扩张过深,肾盏撕裂;无积水肾脏导丝切割肾实质或集合系统;穹隆部穿刺导致叶间血管损伤;动静脉瘘形成;假性动脉瘤形成。本文结果显示,经过观察,发生出血并发症12例,发生率7.5%。总出血量300~1200ml,平均600ml。其中男性患者发生出血10例,女性出血2例,男性患者发生出血的几率明显高于女性患者(P<0.05)。

术中出血严重时,最好的处理方法是马上终止手术,留置与取石通道相当的造瘘管,夹闭30~60分钟,出血一般可自行停止[5]。如果出血不多,可小心操作,继续手术,术后放置输尿管导管及肾造瘘管是必要的。绝对卧床休息,并密切观察患者是否继续出血,根据失血量即患者情况确定是否要输血,如导尿管引流血尿颜色渐渐变淡,则5~7天后可通过原通道继续治疗[6]。如术后发现有持续出血征象,可联系介入科行超选择性肾动脉栓塞治疗[7]。本文结果显示,12例出血患者均在出血后先行扩容、输血、药物止血、局部压迫,夹闭肾造瘘管等保守治疗,10例患者出血得以控制;2例患者症状不缓解或加重时急诊行介入栓塞治疗。所有患者都痊愈出院。

总之,经皮肾镜取石术中出血并发症发生率比较高,男性患者发生的几率比较好,联合治疗都取得比较好的控制效果。

参考文献

1 梁卓寅,梁志雄.超选择性肾动脉栓塞治疗微创经皮肾穿刺取石术后出血[J].国际泌尿系统杂志,2010,26(6):725-727.

2 袁坚,吴开俊.经皮肾镜术并发大出血16例報告[J].中华泌尿外科杂志,2009,16(2):530-531.

3 李逊,曾国华,袁坚,等.经皮肾穿刺取石术治疗上尿路结石(20年经验)[J].北京大学学报(医学版),2009,36(2):124-126.

4 陈合群,廖锦堂,齐范,等.经皮肾镜取石术处理肾结石[J].中华泌尿外科杂志,2010,27(6):374-376.

5 燕翔,郭宏骞,李笑弓,等.经皮肾微造瘘输尿管镜碎石术失血因素分析[J].中华泌尿外科杂志,2008,29(4):254-258.

6 王宇雄,李逊,吴开俊,等.经皮肾穿刺取石术并发大出血的分析及对策[J].临床泌尿外科杂志,2009,27(2):96-97.

7 王宇,唐正严,祖雄兵.微创经皮肾镜取石术出血原因分析及临床对策[J].临床泌尿外科杂志,2008,23(2):102-104.

数据库的并发控制和封锁协议分析 篇7

目前主流的关系数据库通常都允许多个用户同时使用和共享, 所以也都具有并发控制的机制, 也就是控制数据库, 防止多用户并发使用数据库时造成数据错误和程序运行错误, 以保证数据的完整性。

二、事务与并发控制的概念

当多用户并发存取数据时, 就会产生多个事务同时存取同一数据的情况, 从而引起严重的数据错误和程序运行错误。

那么我们来看, 什么是事务及并发控制呢?

事务就是用户定义的一个数据库操作序列, 这些操作要么全做要么全不做, 是一个不可分割的很小的工作单位。例如, 在SQL语言中, 定义事务的语句有三条:

其中的BEGIN TRANSACTION是事务开始的标记, 而以COM-MIT或者ROLLBACK结束, COMMIT用于提交事务的所有操作, ROLLBACK则在事务运行过程中一旦发生了某种故障而使事务无法继续执行的时候, 系统就将事务中对数据库的所有刚刚完成的操作全部撤消, 滚动回到事务开始时的状态。

为了充分利用系统资源, 使数据库的共享资源得以有效利用, 必须可以使多个事务并行的执行, 而数据库对并行执行的事务进行的控制就是并发控制。

三、事务进行并发操作可能引起的数据不一致问题

由于种种原因, 都可能引起数据库的数据遭到破坏, 比如多个事务在并行运行的时候, 不同的事务的操作产生了交叉执行, 或者, 事务在运行过程中被强行停止或者中断。

因此, 事务在进行并发操作的时候很可能引起数据的不一致, 下面我们看一个具体的例子。例如飞机票的联网销售系统, 如果有以下的操作序列:

1. 甲售票处 (设置为T1事务) 读出某班次的机票剩余数A, 设A=20

2. 乙售票处 (设置为T2事务) 读出同班次的机票剩余数A, 也是20

3. 甲售票处 (T1事务) 卖出一张机票, 修改剩余数减一 (A←A-1) , 把A=19写回数据库中

4. 乙售票处 (T2事务) 也卖出一张机票, 修改剩余数减一 (A←A-1) , 把A=19写回数据库中

从这些操作中, 我们看到, 乙售票处的修改数据覆盖了甲售票处修改的数据, 实际发生了两张机票的销售, 而数据库中却错误的存入19, 少了一张。参看图1的情况。

这种情况是并发操作引起数据不一致的第一种情况, 叫做丢失修改 (Lost Update) , 第二种是不可重复读 (Non-Repeatable Read) , 第三种是读“脏”数据 (Dirty Read) 。

下边看第二种情况, 不可重复读是指事务T1读数据以后, T2执行更新操作, 就使T1无法再现原先读取的数据, 得到与上一次不同的结果, 例如图2。

读“脏”数据是指T1修改某数据并将其写回数据库, T2读取同一数据后, T1由于某种原因被撤消, T1执行回滚, 恢复到原始的数据, T2就读取到了过程中的一个作废的数据, 这个数据就是一种垃圾数据, 称之为“脏”数据, 也是不正确的。参看图3。

从以上例子我们看到, 数据不一致性的主要原因就是并发操作没有对事务进行一定的隔离, 所以, 正确的调度应该使一个用户的事务不受到其他事务的干扰, 从而避免数据的不一致性。

四、在并发控制中采用封锁协议解决数据的不一致性

并发控制的主要方法是封锁 (Locking) 。就是要用正确的方式调度并发操作, 使一个用户的事务在执行过程中不受其他事务的干扰, 从而避免造成数据的不一致性。

封锁是使事务对它要操作的数据有一定的控制能力。封锁通常具有3个环节:第一个环节是申请加锁, 即事务在操作前要对它将使用的数据提出加锁申请;第二个环节是获得锁, 即当条件成熟时, 系统允许事务对数据进行加锁, 从而事务获得数据的控制权;第三个环节是释放锁, 即完成操作后事务放弃数据的控制权。

基本的封锁类型有以下两种:

1. 排它锁 (Exclusive Locks, 简称X锁)

排它锁也称为独占锁或写锁。一旦事务T对数据对象A加上排它锁 (X锁) , 则只允许T读取和修改A, 其他任何事务既不能读取和修改A, 也不能再对A加任何类型的锁, 直到T释放A上的锁为止。

2. 共享锁 (Share Locks, 简称S锁)

共享锁又称读锁。如果事务T对数据对象A加上共享锁 (S锁) , 其他事务只能再对A加S锁, 不能加X锁, 直到事务T释放A上的S锁为止。

在对数据进行加锁时, 另外需要约定并执行一些规则和协议, 其中包括何时申请锁, 保持锁的时间以及何时释放等, 这些规则就称为封锁协议 (Locking Protocol) , 其总共分为以下三级:

(1) 一级封锁协议。一级封锁协议是事务T在修改数据之前必须先对其加X锁, 直到事务结束才释放。

(2) 二级封锁协议。二级封锁协议是事务T对要修改数据必须先加X锁, 直到事务结束才释放X锁;对要读取的数据必须先加S锁, 读完后即可释放S锁。

(3) 三级封锁协议。三级封锁协议是事务T在读取数据之前必须先对其加S锁, 在要修改数据之前必须先对其加X锁, 直到事务结束后才释放所有锁。

执行了封锁协议之后, 就可以克服数据库操作中的数据不一致所引起的问题。

参看图4。

从图4的情况我们看到事务T1在执行过程中独自占用并加X锁, 直到处理完之后再释放锁, T2虽然也需要使用, 但是在封锁协议的约束之下, T2所要求的X锁就被拒绝, 因此必须处于等待状态, 直到T1释放之后, T2才获得使用的权利, 这样就不会发生使用冲突, 避免了数据的丢失。这里我们看到, 此处实际上是执行了一级封锁协议。

下面我们看图5。

通过图5, 能够清楚的看到, 由于施行了封锁协议, 使事务T1使用了共享锁占用A, B两块数据, 这样T2需要加上的X锁就无法实现, (如果是S锁, 虽然可以加上, 但也不能够随便修改数据, 只是读取一下数据。) 当T1释放锁之后, T2就可以得到并使用锁了, 这样读取的数据B仍然还是100, 不影响A+B的结果, 这就是可重复读取。因此我们看到, 其实这里用的就是三级封锁协议。参看图6, 事务T1在对数据C修改之前, 先加上了X锁, 修改后写回数据库, 这时T2请求在C上添加S锁, 因为T1加了X锁, T2只好等待, 当T1因为某种原因撤销了修改的数据后, C就恢复了原来的数据100, 等T1释放X锁后T2获得C上的S锁, 读到的还是C=1 0 0, 因此避免了读出“脏”数据。这里使用的其实就是二级封锁协议。

通过以上内容, 数据库由于采用一定的封锁协议避免了数据的不一致性问题, 这使得数据库的并发控制有效而且有益, 从而使得多项事务可以并行的操作数据库的共享资源了。这就是数据库合理的进行调度, 避免了冲突, 避免了数据的不一致。

参考文献

[1]苗雪兰:数据库系统原理及应用教程[M].北京:机械工业出版社, 2004

[2] (美) Mary Pyefinch著:希望图书创作室译[M].SQL数据库开发从入门到精通[M].北京希望电子出版社, 2000

并发控制 篇8

随着Web Services的推广应用, Web Sevices平台的开发也提上日程。作为平台的重要部件, Web Services容器[1]在Web Services的运行管理方面起着重要的作用。性能和可靠性是容器开发的重要考虑因素。对Web Services生命周期及其管理机制的研究对Web Services容器提高性能和可靠性具有重要的指导意义。而通常Web Services生命周期这一概念包括两层含义:一种是指Web Services的开发生命周期;另一种则特指Web Services的运行生命周期。本论文中包含的Web Services生命周期概念指第二种意思。通过对Web Services生命周期的分析, 探讨Web Services的并发控制实现机制。当然, 不同的Web Services实现形式其生命周期不一样。这里主要对驻留在容器内的Web Services实例生命周期进行讨论。

为了便于讨论研究, 我们作了以下两个定义:

定义1 生命周期定义为三元组 <S, T, G>, 其中S={s1, s2, s3, …, sn}是生命状态集合, T={t1, t2, t3, …, tm}表示生命状态之间的转换动作集合, G表示状态之间的转换条件集合。

定义2 并发控制机制。对某一访问对象O, 某一时刻当有多个访问者c1, c2, …, cn时, 可通过一定的控制策略G, 使对象O的生命始终处于激活状态。并发控制机制设计的好坏, 主要取决于两个因素:

① 同时支持的并发用户数N;

② 处理n个访问者请求 (n可以大于N) 的时间T (n) 。

1 Web Services的生命周期分析

1.1 W3C的Web Services基本生命周期

W3C组织在其发布的文档[2]中对Web Services生命周期作了阐述。它将Web Services生命周期分为两个状态:UP和DOWN。Web Services启动生命进入UP状态, 从DOWN状态可以结束生命。而DOWN状态可以通过激活进入UP状态;UP状态则可以钝化到DOWN状态。

在UP状态下, 它具有IDLE和BUSY两个子状态。Web Services生命刚启动时是进入IDLE状态的, 即当前没有处理任何请求, 但这时Web Services已实例化且可以接收任何请求。BUSY状态则表明Web Services当前正在处理请求。当请求到来时, Web Services将从IDLE状态转换到BUSY状态;所有的请求处理完毕后Web Services又从BUSY状态返回到IDLE状态。

至于DOWN状态, 它可以分为STOPPED、SATURATED和CRASHED三个子状态。下面分别对它们作一描述:

· SATURATED 在UP状态下, Web Services由于耗尽资源 (如内存资源等) 而不能接收任何请求。但当耗尽的资源可用的时候, Web Services将从此状态进入BUSY状态, 这样就可以再次接收请求了。

· CRASHED 在UP状态下, 由于Web Services的内在功能失效而导致不可用。但当从失效中恢复或重新启动时, 它就可以转换为IDLE状态, 从而可以重新接收请求了。

· STOPPED 处于管理目的, Web Services可以从任何一种状态 (包括UP状态和上述的两种DOWN状态) 被人为地转换到停止状态。这时Web Services不能接收任何请求。

W3C所阐述的只是最基本的Web Services生命周期, 即Web Services的共同生命周期。而实际上, Web Services可以分为有状态和无状态两种类型。本文对有状态Web Services的生命周期作了分析。

1.2 有状态Web Services的生命周期分析

我们将有状态Web Services实例的生命周期可分为六个状态:not exist、busy、idle、mulfunction、passivated和stopped。与无状态Web Services相比, 其生命周期多了passivated状态。下面对这六个状态分别作一阐述:

· Not exist:不存在状态 意味着这时Web Services尚未实例化或还为载入, 不能接收任何请求。

· Idle:空闲状态 这时Web Services实例化且其状态也已载入, 可以接收任何请求。

· Busy:忙状态 这时Web Services实例化且其状态也载入, 当前正处于处理请求的状态。

· Mulfunction:失效状态 Web Services实例及其状态驻留在内存中, 但不能接收任何请求。主要是由于Web Services实例已耗尽资源或内部功能失效造成的, 当恢复资源时可以返回busy状态。

· Passivated:钝化状态 这时Web Servcies实例驻留在内存中, 但其状态已消除或暂时保存在状态储存库 (如文件或数据库) 中。

· Stopped:停止状态 Web Services实例及其状态驻留在内存中, 但不能接收任何请求。这是处于管理的目的, 人为停止的。

初始时, Web Services实例是不存在的。当生命周期启动时, 实例就被载入并初始化载入状态, 同时驻留在内存中。但如果没有请求消息到达, 实例则处于空闲 (idle) 状态。

当有请求消息到来时, 将由空闲状态进入忙状态, 处理结束后如果没有新的请求到来, 将返回空闲状态。这时, 实例仍保存着状态。但如果超过所设定的时间值时对应的请求仍没有到达, 它将进入钝化状态。这时, 只保存实例, 而所具有的状态将从内存中清除, 被临时保存在文件或数据库中, 直到对应的请求到达时它才被重新载入。在忙状态下, 但资源耗尽或内部功能失效时, Web Servcies实例将进入失效状态。这时, Web Services实例不能接收任何请求。但当资源或功能恢复时, 仍可返回到忙状态。

不管是Web Services实例处于哪种状态下, 有时处于管理目的, 需要禁止某些实例接受请求, 管理员可以通过调用相应的方法 (如stop () 方法) 让实例处于停止 (stop) 状态。但是它仍驻留在内存中。如要将其彻底清除, 可以调用销毁方法。图1表示了有状态Web Services实例的生命周期情况。

2 Web Services的并发控制机制

2.1 Web Servcies生命周期管理方法

Web Servcies实例的生命周期管理机制是实现Web Servcies并发控制的关键。一般Web Servcies生命周期的管理是通过Web Services实例的生命周期回调来实现自身的管理。这种方法将生命周期管理功能集中到Web Services本身, 采用生命周期回调方法实现对其生命周期的管理, 但这只能对个别Web Services或其实例进行管理, 不能实现同时对多个Web Services或其实例进行管理, 而且也增加了Web Services开发人员的负担。所以, 本文提出另一种方法, 即借助于容器提供的服务实现生命周期管理服务。这种方法根据需要可以随时对Web Services或其实例进行生命周期控制。它将生命周期管理功能集成到Web Services容器中, 统一调度, 可以实现对多个Web Services或其实例生命周期进行控制。

2.2 Web Services的并发控制机制

在Web Servcies容器内, 往往存在着多个请求对同一个Web Services或其实例同时进行访问的情况。这时, 如果没有合理的控制机制, 往往会导致灾难性的问题, 如系统瘫痪等。所以, 强健的并发控制机制是保证Web Services正常运行的关键。根据以上的Web Services生命周期分析, 本文提出一种并发控制机制。

在这个控制机制中, 将控制的对象分为Web Service本身和Web Servcies实例两种。当有多个请求对同一个Web Services实例访问时, 我们可以对其加以控制, 防止资源最终耗尽进入失效状态。但有时我们又需要对整个Web Services本身的同时访问数量进行控制, 即在同一时刻控制其实例的创建数。这里要注意, 对Web Services本身的并发控制操作也就是对其所有已存在实例的控制操作。比如, 如果对Web Services本身进行停止操作, 其所有已存在的实例也将停止。

并发控制机制提供自动和人工两种实现方法。人工的方法指的是管理员通过Web Services的管理界面人为地对某个Web Service或其实例进行控制。这里主要讨论自动的并发控制方法。在自动方法中, 容器主要通过四种途径实现并发控制:

· 随时监视容器内各个Web Services实例的状态, 根据生命周期的各个状态分别采取相应的措施。比如, 对于长期处于失效状态下的Web Services实例, 容器可以销毁它以释放资源。

· 观察容器的总负载情况, 当处于高负载影响容器性能时, 可以关闭一部分Web Services实例的运行。这实际上一定程度上也实现了组件负载平衡。

· 对于有状态Web Services, 如果在一定的时间内没有新的请求到来, 则可以将其实例钝化, 释放状态以节省资源。

· 在容器刚启动时, 通过创建一定数量的Web Services实例可以为应对大量请求的同时到来做好准备。

· 当请求数大于空闲实例数时, 可以将请求暂时缓冲。

前面两种并发控制机制可以与Web Servcies管理 (监视) 工具结合起来。由监视引擎监视Web Services生命周期状态或负载情况并提供控制。后三种控制机制则可通过实例池方案来达到。

2.3 实现模型

Web Services并发控制机制的具体实现框架如图2所示。

管理工具利用监视引擎通过驻留在容器内的代理 (Agent) 监视Web Services实例运行状况并写入状态库中, 当高负载时可在管理工具界面上通过容器内的生命周期服务停止某些实例运行。另一方面, 当请求者请求Web Services时, 如无空闲实例, 则暂时将请求缓冲在队列中;如有, 容器将从实例池中取出一个空闲实例, 同时从状态库中载入状态创建状态对象, 执行结束后在规定时间内如无相应的请求到来, 将销毁状态对象同时将实例放回实例池。其中, 状态库负责Web Services运行状态及有状态Web Services的状态资源的保存。

2.4 测 试

基于以上的并发控制模型, 我们实现了原型系统——Web Services容器 (WSC) , 并对其进行并发Web Sevices访问请求测试。测试方法:采用连接请求数递增的数据采样方式。即将连接数从1递增到200, 采用描点法记录在不同的连接数下, 稳定运行10分钟内平均每秒所处理的请求数。结果表明在各个连接的情况下, Web Services容器性能明显比同类产品好。同时在连接数接近200时, Web Services容器的处理请求数基本保持稳定, 说明Web Services容器比同类产品性能稳定。

3 小 结

为提高Web Services容器的并发控制能力, 本文首先阐述了W3C所提出的Web Services生命周期, 指出其不足, 并对有状态Web Services生命周期进行分析。然后讨论了Web Services生命周期的两种管理方法, 即容器提供生命周期管理服务和Web Services生命周期回调。在此基础上, 对Web Services的并发控制机制进行研究。最后提出一个并发控制实现框架。在这个框架中, 通过实例池、生命周期服务、队列等技术的应用大大增加了Web Services并发控制的韧性和能力。

参考文献

[1] Ben Bernhard.A Web Services Container [J/OL].2004.http://www.sys-con.com/webservices/ article.cfm?id=82.

[2] W3C.Web Service Management:Service Life Cycle[EB/OL].2004-02.http://www.w3.org/TR/wslc/.

[3] W3C.webservicesarchitecture[EB/OL].2004-02.http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/.

[4] Systinet Corp.WASP Server for Java[EB/OL].2004.http://www.systinet.com/doc/wasp_jserver/waspj /index.html.

[5] Stefan Burwitz.The Web Service Life Cycle[EB/OL].2004.http://www.capescience.com/articles/ lifecycle/ index.shtml.

[6]The Globus Toolkit.GT4.0 C WS Design.2005.http://www.globus.org/toolkit/docs/4.0/common/cwscore/C-GT4-WS-Design.pdf.

并发控制 篇9

1临床资料

患者, 男性, 62岁, 因突发持续性心前区压榨性疼痛伴晕厥急诊入院。心电图示急性下壁心肌梗死, III度房室传导阻滞。曾用异丙肾上腺素治疗。查体:BP140/70mmHg (1mmHg=0.133kpa) , p72次/min, 意识清楚, 两肺低可闻及湿性啰音, 叩诊心界向左侧扩大, 心尖部可闻及湿性啰音, 扣诊心界向左侧扩大, 心尖部可闻及第三心音.经吸氧、止痛、抗凝、静脉滴注硝酸甘油等治疗后病情缓解。入院第2dIII度房室传导阻滞消失, 第五天肺部湿罗音消失。

入院第7d因情绪激动出现频发室性期前收缩, 反复发生室性心动过速 (心室率160~190次/min) , 给予利多卡因75mg静脉推注, 4mg/min静脉滴注疗效不明显。先后静脉推注维拉帕米5mg, 普罗帕酮70mg, 各2次, 美西律200mg, 4次均无效。次日加用普萘洛尔10mg, 每日三次口服, 病情稍好转。曾出现心室颤动, 经心前区叩击、电除颤, 2min后心跳恢复。情绪激动时仍间断出现室速。考虑室速可能为儿茶酚胺敏感型, 故加大普纳洛尔剂量, 立即口服50mg, 以后30mg, 5次/d, 5h候室性心律失常消失。BP120~105/75~60mmHg, 心率由104次/min降至72次/min。查血儿茶酚胺, 去甲肾上腺素0.39mg/L (正常值0.292mg/d以下) 。停用利多卡因, 服普纳洛尔150mg/d出院。复查各项化验均正常, 24h动态心电图无室速发生, 室性期前收缩仅2次。心脏彩超示左室舒张末径58mm, 射血分数0.38.

2讨论

并发控制 篇10

1. 事务的概念

事务是现代数据库理论中的核心概念之一,如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。它是数据库管理系统运行的基本工作单位,且是一个不可分割的工作单位。

2. 事务特性

事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。

原子性(A):也称自动性,表示事务执行过程中的任何失败都将导致事务所做的任何修改失效,换句话说,事务必须执行一个完整的工作,要么执行全部数据的操作,要么全部不执行。

一致性(C):表示当事务执行失败时,所有被该事务影响的数据都应恢复到事务执行前的状态。

隔离性(I):也称为独立性,表示一个事务处理数据,要么是其他事务执行之前的状态,要么是其他事务执行之后的状态,但不能处理其他正在处理的数据。

持久性(D):表示当一个事务完成之后,将影响永久性地存于系统中,即事务的操作将写入数据库中。

事务的这种机制保证了一个事务或者提交后成功执行,或者提交后失败回滚,二者必居其一,因此,事务对数据的修改具有可恢复性,即当事务失败时,它对数据的修改都会恢复到该事务执行前的状态。而使用一般的批处理,则有可能出现有的语句被执行,而另一些语句没有被执行的情况,从而有可能造成数据不一致。

3. 并发控制技术

数据库的特点就是数据的集中管理和共享。在多用户共享系统中,许多事务可能同时对同一数据进行操作,称为“并发操作”,数据库的并发操作如果不加任何控制,则可能存在以下的问题:

丢失更新:“写”到“完”之间有另一人“写”;

读过时的数据:“读”到“完”之间有另一人“写”;

读“脏”的数据:“写”到“撤”之间有另一人“读”。

处理并发控制的主要技术是封锁技术、时间戳技术等。

3.1 封锁技术

封锁有两种封锁,即X封锁和S封锁。

X封锁:

要解决丢失更新和读“脏”的数据,我们需要在写的时候,不让其他人有任何的权限。这就设计出了第一种锁:排他型锁(X封锁)。这种锁只允许一个事务独享数据,其实事务只有等这个事务解除封锁后,才能对数据进行任何类型的封锁。

S封锁:

要解决读过时的数据,我们需要在读的时候,不让其他人有写的权限。这就有了第二种锁:共享型锁(S封锁)。

3.2 时间戳技术

为了区别事务开始执行的先后,每个事务在开始执行时,由系统赋予一个唯一的、随时间增长的整数,称为时间戳(Time Stamp,TS)。基于时间戳的并发控制是按时间戳的顺序对冲突进行处理,使一组事务的交叉执行等价于一个由时间戳确定的串行序列,其目的是保证冲突的读操作和写操作按照时间戳的顺序执行。

3.3 其它技术

处理事务并发处理的方法还有基于数据库版本和基于事务类的并发控制技术。

4. 事务恢复技术

事务是恢复处理的基本单元,恢复机制负责保证事务的原子性和持久性。基于日志的失效恢复和影子分页技术是两种基本的恢复机制,在此只介绍基于日志的失效事务恢复技术。

基于日志的失效事务恢复过程有两个阶段:

阶段一:正常操作时,在事务处理过程中存储必要的信息到日志顺序文件,后台进程对已完成的顺序文件做归档操作。

阶段二:恢复过程中,通过归档文件和日志文件的信息恢复事务。

4.1 事务恢复的方式

事务的恢复方式有两种:

第一种:事务管理器恢复并发送结果到资源。资源不用主动参与恢复过程,只是正常的提交或回滚命令被触发。

第二种:资源没有发现事务结果传递过来,就发请求到事务管理器。事务管理器恢复RecoveryCoordinator对象,资源通过该对象的replay_completion()方法请求获得事务结果,如果不能获得结果信息,则回滚事务,否则按获得的结果完成事务。为了事务的完整性,OTS在恢复时,既要恢复RecoveryCoordinator对象,又要根据日志中事务的状态向注册的资源发送commit()或rollback()命令。

4.2 事务恢复的规则

事务恢复需要遵循下列原则:

所有活动的事务都必须恢复;

所有已经准备提交的事务都提交;

所有已经准备回滚的事务都回滚;

所有状态未知的事务都回滚。

事务发生失败后,在交易中间件重启时要做恢复操作。恢复操作步骤如下:首先,读取失败时日志目录下所有未来得及归档的日志文件,接着,读取归档文件中的内容。然后,根据读取的这些文件内容筛选出失败发生时未完成的事务。由交易中间件恢复所有这些未完成的事务,保证了事务的完整性和一致性。

结束语

就数据库中事务处理中的并发控制可能出现数据一致性等一系列问题,提出了处理并发控制的几种方法,详细阐述了处理并发控制技术中最常用的技术——封锁,对于事务恢复技术主要介绍了基于日志的失效事务恢复技术。

参考文献

[1]王珊等数据库基础与应用人民邮电出版社2002:(12~26)

并发控制 篇11

1 资料与方法

1.1 一般资料

回顾性选取该院收治的71例ICU危重并发高血糖患者临床资料,纳入标准:随机血糖指标≥11.1 mmol/L、空腹血糖指标≥6.9 mmol/L。患者男女比例43:28,年龄32~85岁,平均年龄(58.57±5.96)岁;病程1~36个月,平均(18.65±3.24)个月;临床表现:无法进食者18例、应激性溃疡15例、吞咽困难27例、交感神经兴奋过度11例。

1.2 方法

所有患者均给予胰岛素注射以稳定血糖指标,胰岛素剂量在2~4 IU/h之间,同时根据患者具体体征情况给予适量调整,治疗时间为7 d,治疗后进行血糖指标测定及疗判定。

1.3 统计方法

数据均以SPSS 20.0的统计软件分析,计数用例数(%)表示,计数资料组间率(%)的比较采用χ2检验。

2 结果

2.1 患者血糖控制效果分析

通过胰岛素治疗,血糖有效控制者53(74.65%)例,其预后死亡率1.89%(1/53);无效控制者18(25.35%)例,死亡率16.67%(3/18);有效控制组MODS死亡率显著低于无效控制组,差异有统计学意义(P<0.05)。

2.2 有效及无效控制组并发症情况比较

有效控制组低血糖、感染及MODS并发症总发生率为5.66%,显著低于无效控制组的27.78%,差异有统计学意义(P<0.05),见表1。

注:组间比较,*P<0.05。

3 讨论

随着社会经济的不断发展,人们生活方式也发生较大改变,生活质量的提高导致高血糖疾病人数逐年递增,为临床医疗救治带来了较大压力。尤其在ICU危重症患者群体中其高血糖发病率较一般患者发病率更高,危重患者一旦出现高血糖情况,易导致其各组织器官损伤,增加缺血性心脏心肌疾病坏死面积,从而增加ICU患者死亡率或诱发较多并发症[2]。对此,需及时采取积极有效控制血糖指标治疗方法,以稳定患者血糖,延缓病情发展及死亡进程。为此,该现就回顾性分析该院在2014年11月—2016年3月以注射胰岛素的方式对71例ICU重症患者进行血糖控制取得的疗效,旨在为临床ICU重症患者治疗呢效果探究提供有效循证依据。

该中,通过分析患者血糖控制后取得的疗效,其有效控制血糖人数为53例,控制率为74.65%,预后死亡率为1.89%;无效控制者18例,控制率25.35%,死亡率16.67%;经比较,血糖有效控制率、死亡率均低于无效控制组。分析其原因为高血糖的发生是由于患者体内胰岛素出现功能障碍,致使其分泌胰岛素能力下降,进而在患者汲取糖分后无法完全、有效地分解血液中糖分,使其糖分逐渐增加,一定程度后则影响患者各组织机能运转,对此,临床采取注射胰岛素的方法则是为患者增加胰岛素含量,使其进入人体后通过血液循环,对机体内血糖进行有效分解,以此降低患者血糖,减轻其机体组织损伤程度,促使患者早日康复[3,4]。此外,患者血糖指标的大幅度波动可激发炎症,使其释放大量炎症因子,以破坏血脑屏障,导致脑水肿,造成脑神经细胞的凋亡,极易诱发祥光脑血管疾病,因此需及时采用胰岛素治疗,通过分解血糖含量以预防脑血管疾病的发生[5]。研究中,通过比较血糖控制有效组与无效组并发症情况,有效组以并发症率5.66%显著低于无效组的27.78%,由此证实血糖的有效控制可以减少患者并发症,提高其生命安全。当然,在注射胰岛素中需根据患者具体病情选择适量药剂,以减少低血糖发生率。受例数限制和外界因素影响,该研究尚未对患者在治疗中可能出现的不良反应作详细分析,有待进一步研究与探讨。

综上所述,及时对ICU危重并发高血糖患者采取积极有效控制,可以通过稳定患者血糖指标,减少患者死亡率及并发症发生率,更好地促进ICU重症患者早日康复。

参考文献

[1]贺彩玲.危重患者强化胰岛素治疗血糖监测间隔时间的临床研究[J].山西医药杂志,2015,44(6):690-691.

[2]梁福攸,叶文华,梁伟灿,等.动态血糖监测系统联合胰岛素泵治疗[J].实用医学杂志,2014,30(23):3793-3794.

[3]龚建玲.血糖水平波动对ICU危重症患者预后的影响[J].中国乡村医药,2014,21(19):3-4.

[4]单亮,王弥,王志宏,等.神经危重患者的血糖管理[J].临床内科杂志,2014,31(3):212-214.

上一篇:共同作用分析方法下一篇:全球卫星通信发展