数据管理方法及系统、数据库系统技术方案

技术编号:7319275 阅读:131 留言:0更新日期:2012-05-04 17:32
本发明专利技术实施例公开了一种数据管理方法及系统、数据库系统,所述方法包括:向数据库系统发送数据请求消息,所述数据请求消息中包括客户端发送的用户数据标识;接收所述数据库系统发送的用户数据和所述用户数据的第一版本信息;将所述用户数据发送给所述客户端;在接收并保存所述客户端提交的修改后的用户数据后,对所述数据库系统中的所述用户数据进行锁定;比较所述第一版本信息与所述数据库系统中的所述用户数据的当前版本信息是否相同;如果所述第一版本信息与所述当前版本信息相同,则将所述修改后的用户数据写入所述数据库系统。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种数据管理方法及系统、数据库系统
技术介绍
区域卫生信息平台(Regional Health Information Network, RHIN)是以个人为中心的区域性电子病历(Electronic Medical Record,EMR)及电子健康档案(Electronic Health Record,EHR)存储与共享平台,各个医疗机构的业务信息系统(Point of Service, P0S)以客户端的方式接入到RHIN中,可上传或共享某个居民的电子健康档案。EMR和EHR 通过RHIN可在各个医疗信息系统(Hospital Information System, HIS)间进行共享。EMR和EHR采用关系数据库进行保存,在关系数据库中,数据的上下文一致性(即某个人对某条数据的修改不会覆盖其他人对该数据的修改)及并发控制一般采用事务 (Transaction)的技术实现在用户读取数据时启动事务,为数据库中的数据加上排它锁, 在数据锁定期间,其他用户无法读取修改该数据;或在用户提交修改后的数据时启动事务, 为数据库中的数据加上排它锁,在数据锁定期间,其他用户无法读取修改该数据。现有技术中至少存在如下问题在用户读取数据时启动事务,为数据库中的数据加上排它锁,可以实现对数据的并发访问的控制,保证数据的一致性,但同时加锁时间过长降低了并发访问数据的性能,导致系统的访问吞吐量降低,并且排它锁机制的维护需要中央处理器对整个数据库系统各个节点的数据排它锁进行广播或查询,管理开销大;在用户提交修改后的数据时启动事务,为数据库中的数据加上排它锁,对并发访问数据的性能影响较小,但不能严格保证数据的一致性。即当前的事务控制方法不能同时保证数据的一致性和并发访问数据的性能。
技术实现思路
本专利技术的实施例提供一种数据管理方法及系统、数据库系统,能够在保证数据一致性的同时提高并发访问数据的性能。本专利技术实施例采用的技术方案为一种数据管理方法,包括向数据库系统发送数据请求消息,所述数据请求消息中包括客户端发送的用户数据标识;接收所述数据库系统发送的用户数据和所述用户数据的第一版本信息;将所述用户数据发送给所述客户端;在接收并保存所述客户端提交的修改后的用户数据后,对所述数据库系统中的所述用户数据进行锁定;比较所述第一版本信息与所述数据库系统中的所述用户数据的当前版本信息是否相同;如果所述第一版本信息与所述当前版本信息相同,则将所述修改后的用户数据写入所述数据库系统。一种数据管理方法,包括接收数据管理系统发送的数据请求消息,所述数据请求消息中包括客户端发送的用户数据标识;获取与所述用户标识对应的用户数据和所述用户数据的第一版本信息;将所述用户数据和所述用户数据的第一版本信息发送给所述数据管理系统;在所述数据管理系统对所述用户数据进行锁定之后、且当所述第一版本信息与所述用户数据的当前版本信息相同时,接收并存储所述数据管理系统写入的修改后的用户数据。一种数据管理系统,包括数据请求发送模块,用于向数据库系统发送数据请求消息,所述数据请求消息中包括客户端发送的用户数据标识;数据信息接收模块,用于接收所述数据库系统发送的用户数据和所述用户数据的第一版本信息;数据发送模块,用于将所述用户数据发送给所述客户端;锁定模块,用于在接收并保存所述客户端提交的修改后的用户数据后,对所述数据库系统中的所述用户数据进行锁定;比较模块,用于比较所述第一版本信息与所述数据库系统中的所述用户数据的当前版本信息是否相同;写入模块,用于当所述第一版本信息与所述当前版本信息相同时,将所述修改后的用户数据写入所述数据库系统。一种数据库系统,包括数据请求接收模块,用于接收数据管理系统发送的数据请求消息,所述数据请求消息中包括客户端发送的用户数据标识;数据信息获取模块,用于获取与所述用户标识对应的用户数据和所述用户数据的第一版本信息;数据信息发送模块,用于将所述用户数据和所述用户数据的第一版本信息发送给所述数据管理系统;数据接收模块,用于在所述数据管理系统对所述用户数据进行锁定之后、且当所述第一版本信息与所述用户数据的当前版本信息相同时,接收并存储所述数据管理系统写入的修改后的用户数据。本专利技术实施例提供的数据管理方法及系统、数据库系统,数据管理系统向数据库系统发送包括客户端发送的用户数据标识的数据请求消息,接收所述数据库系统发送的用户数据和所述用户数据的第一版本信息,将所述用户数据发送给所述客户端,在接收并保存所述客户端提交的修改后的用户数据后,对所述数据库系统中的所述用户数据进行锁定,比较所述第一版本信息与所述数据库系统中的所述用户数据的当前版本信息是否相同,如果所述第一版本信息与所述当前版本信息相同,则将所述修改后的用户数据写入所述数据库系统。与现有技术相比,本专利技术实施例能够通过比较数据版本信息来确定是否将修改后的数据写入数据库系统,只有在数据库系统中用户数据的版本信息未发生变化时,才将修改后的用户数据写入数据库系统,从而能够保证数据的一致性;同时,由于仅在待写入修改后的数据之前才对数据进行锁定,减少了锁定时间,从而能够提高并发访问数据的性能。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例一提供的数据管理方法流程图;图2为本专利技术实施例二提供的数据管理方法流程图;图3为本专利技术实施例三提供的数据管理方法流程图;图4、图5为本专利技术实施例四提供的数据管理系统结构示意图;图6、图7为本专利技术实施例五提供的数据库系统结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。为使本专利技术技术方案的优点更加清楚,下面结合附图和实施例对本专利技术作详细说明。实施例一本实施例提供一种数据管理方法,如图1所示,所述方法包括101、向数据库系统发送数据请求消息,所述数据请求消息中包括客户端发送的用户数据标识。102、接收所述数据库系统发送的用户数据和所述用户数据的第一版本信息。103、将所述用户数据发送给所述客户端。104、在接收并保存所述客户端提交的修改后的用户数据后,对所述数据库系统中的所述用户数据进行锁定。105、比较所述第一版本信息与所述数据库系统中的所述用户数据的当前版本信息是否相同。106、如果所述第一版本信息与所述当前版本信息相同,则将所述修改后的用户数据写入所述数据库系统。进一步的,如果所述第一版本信息与所述当前版本信息不相同,则取消将所述修改后的用户数据写入所述数据库系统,并向客户端返回错误信息。进一步的,在所述比较所述第一版本信息与所述数据库系统中所述用户数据的当前版本信息是否相同之前,还包括从所述数据库系统中获取所述用户数据的当前版本信息。进一步的,在所述接收所述数据库系统发送的用户数据和所述用户数本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:许金川温长城李华荣
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术