[发明专利]一种实现数据一致性的方法及其系统有效
| 申请号: | 201110216858.8 | 申请日: | 2011-07-29 |
| 公开(公告)号: | CN102411598A | 公开(公告)日: | 2012-04-11 |
| 发明(设计)人: | 吴卫平;杨玻雅;杨献;刘旭君;周晓 | 申请(专利权)人: | 株洲南车时代电气股份有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪 |
| 地址: | 412001 湖南*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 数据一致性 方法 及其 系统 | ||
1.一种实现数据一致性的方法,其特征在于,包括以下步骤:
S101:数据访问组件(3)对象接受用户消息,根据用户消息生成动态SQL;
S102:如果动态SQL是数据获取,则执行步骤S103;否则,数据访问组件(3)对象根据XML数据库配置文件连接关系数据库(8),获取数据,数据访问组件(3)对象再将数据传给应用层,流程结束;
S103:数据访问组件(3)对象根据全局性质的数据访问组件对象名、数据获取对象名查询全局的缓存数据集合(6),若存在数据,则说明缓存数据有效,返回数据给数据访问组件(3)对象,由数据访问组件(3)对象传递给应用层,流程结束;若没有数据,根据数据访问组件对象名、数据获取对象名,创建一个全局缓存组件对象,并将获取的数据动态SQL、数据访问组件(3)对象名、数据获取对象名传给该缓存组件(4)对象;
S104:缓存组件(4)对象解析XML缓存配置文件、XML数据库配置文件,查看该数据访问组件(3)对象是否设置缓存,若设置缓存,则说明全局缓存组件对象监测本地依赖文件,当依赖文件发生变化时,系统删除数据访问组件(3)对象的缓存以及全局缓存对象;若没有设置缓存,则执行步骤S106;
S105:缓存组件(4)对象根据数据访问组件(3)对象名解析XML缓存初始化文件,若有数据,则获取一条记录并生成一个触发器SQL,连接关系数据库(8)并执行,同时删除这条XML文件记录,依次循环,直至文件中找不到数据为止;
S106:缓存组件(4)对象连接关系数据库(8),执行数据访问组件(3)对象所传入的获取数据动态SQL,获取数据,若该数据访问组件(3)对象设置缓存,则更新缓存数据;
S107:缓存组件(4)对象将数据传给数据访问组件(3)对象,由数据访问组件(3)对象传递给应用层,流程结束。
2.根据权利要求1所述的一种实现数据一致性的方法,其特征在于:所述实现数据一致性的方法包括缓存组件获取数据过程,该过程包括以下步骤:
S201:缓存组件(4)对象的中心控制器(9)接收数据访问组件(3)对象的重要属性,该重要属性包括获取数据动态SQL、数据访问组件对象名、数据获取对象名,将重要属性写入公共属性集合(13)中;
S202:中心控制器(9)解析包括有关系数据库类型、数据库名的XML数据库配置文件,并将解析内容写入公共属性集合(13);
S203:中心控制器(9)通过数据访问组件对象名查找XML缓存配置文件,若找到数据,则解析包括数据访问组件对象名、本地依赖文件全局路径在内的相关属性,写入缓存数据集合(6);若没有找到数据,则说明该数据访问组件对象没有设置缓存,执行步骤S208;
S204:中心控制器(9)通过数据访问组件对象名查找XML缓存初始化文件,若有数据,找到一条记录,并解析包括数据库表名、数据库服务器的本地依赖文件在内的相关属性,写入公共属性集合(13)中,完成后,中心控制器(9)向触发器生成器(10)发送创建触发器消息;
S205:触发器生成器(10)调用动态SQL拼装生成器(12)和公共属性集合(13)动态产生一个创建触发器SQL,并将该SQL发送给连接器(14);
S206:连接器(14)收到创建触发器的SQL,连接关系数据库(8),关系数据库(8)执行创建触发器SQL,将结果返回给连接器(14),连接器(14)将消息传给中心控制器(9);否则若连接器(14)超时,则中心控制器(9)发送一个错误信息,流程结束;
S207:中心控制器(9)收到创建触发器成功消息,在XML缓存初始化文件中删除该记录,重复执行步骤S204至步骤S207,直至XML缓存初始化文件中找不到数据访问组件对象名的相关节点;
S208:中心控制器(9)将公共属性集合(13)中的获取数据动态SQL发送给连接器(14);
S209:连接器(14)收到获取数据动态SQL,连接关系数据库(8),关系数据库(8)执行该SQL,将数据返回给连接器(14),连接器(14)将数据传给中心控制器(9);否则若连接器(14)超时,则中心控制器(9)发送一个错误信息,流程结束;
S210:中心控制器(9)将数据传给数据访问组件(3)对象,若该数据访问组件对象设置了缓存,则将该数据以数据访问组件对象名和数据获取对象名组合一起作为关键字查询插入缓存数据集合(6);
S211:中心控制器(9)向依赖文件监测器(11)发送监测消息,执行缓存组件监测过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于株洲南车时代电气股份有限公司,未经株洲南车时代电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110216858.8/1.html,转载请声明来源钻瓜专利网。





