数据同步的方法和系统技术方案

技术编号:2848325 阅读:252 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种数据同步的方法,包括:A.用户通过图形用户界面将用户请求消息发送给应用层;B.应用层根据所述请求消息构造新数据,并向数据层发送给更新请求;C.数据层完成数据更新,并向应用层反馈更新结束消息;D.应用层接收到更新结束消息后,更新内存中的数据信息,构造用户返回消息,并向图形用户界面异步反馈更新消息;E.所述图形用户界面接收到更新消息后更新显示信息。另外,本发明专利技术还提供一种数据同步的系统,以简化目前技术中应用层和数据层数据更新的交互次数;当数据层发生变化时,应用层不需要修改处理过程,减少应用层各个模块间消息的发送;此外,本发明专利技术还统一完成用户界面的数据更新,以提高系统的效率。

【技术实现步骤摘要】

本专利技术涉及同步技术,特别是涉及一种数据同步的方法和系统
技术介绍
现代软件技术中,数据库的应用非常广泛。一个软件的具体功能通过应用层实现,达成用户的需求。在用户和软件的交互过程中,数据库扮演重要的角色保存用户数据、应用层数据,以便完成数据的可回溯性、可重现性、持久性。而应用层为了提高效率,会在内存中保存常用的数据库记录。因此,在这个交互过程中用户、应用层和数据库,会存在一些问题比如,数据库内部表格之间数据记录一致性、数据库和应用层数据一致性以及用户界面数据更新等。目前,现有技术中提供一种数据同步的原理示意图,详见图1。如图1所示,所述数据同步的实现过程为首先,用户通过图形用户界面(GUI,Graphical User Interface)进行数据增加/删除/修改操作;即所述GUI把用户请求发送给应用层;所述应用层(如图1中的功能模块A、B、C、D)接收到GUI下发请求,解析该请求消息;并根据解析消息的内容,构造新数据(增加操作情况)或者从数据层(图1中数据库DATABASE)读取需要删除/修改的数据(删除/修改操作情况);并在内存中完成数据的增加/删除/修改操作。所述应用层完成数据加工后(增加/删除/修改),向数据层发出更新请求,要求数据层更新数据记录信息;所述数据层完成数据更新后,向应用层返回更新结束信息;所述应用层不同功能模块间相互发送数据同步请求(如图1中功能模块A、B、C、D),完成应用层内数据一致。然后,所述应用层构造用户返回消息,所述消息内容包含了增加/删除/修改后的最新数据;所述应用层向GUI发送数据更新消息(数据更新由不同的功能模块独立发送)。最后,当GUI接收到应用层返回消息时,更新显示信息,提示用户操作完成。由上述公开的技术方案可知当用户需要对数据进行删除或修改时,应用层需要从数据层读取数据,存在读取数据这个冗余步骤,且效率不高,容易出错。当数据层发生变化,应用层需要修改处理过程时,才能正确实现其功能,缺少可扩展性。例如数据层接口发生变化,数据层记录信息增加/删除/修改等。在应用层中模块间(比如A、B、C和D)消息发送关系繁多,容易造成遗漏或重复发送情况,不同模块接收到同步消息后,则会发送响应消息给GUI,容易因为上报消息先后顺序原因,造成GUI更新错误。当存在网络通信延时问题,导致删除消息先于更新消息到达GUI,这时GUI先删除再更新,而不是正确步骤的先更新再删除。易造成用户界面不能正确更新。因此,现有技术的缺点为1)在应用层完成数据更新,过程复杂,容易出错;2)数据层发生变化,应用层需要修改处理过程,才能正确处理,缺少可扩展性;3)模块间消息发送关系繁多,容易造成遗漏或重复发送情况;4)不同模块发送消息给用户界面,容易因为上报消息先后顺序原因,造成用户界面不能正确更新。
技术实现思路
本专利技术解决的技术问题是提供一种数据同步的方法和系统,以简化目前技术中应用层和数据层数据更新的交互次数;当数据层发生变化时,应用层不需要修改处理过程,减少应用层各个模块间消息的发送;此外,本专利技术还统一完成用户界面的数据更新,以提高系统的效率。为解决上述问题,本专利技术提供一种数据同步的方法,所述方法包括A、用户通过图形用户界面将用户请求消息发送给应用层;B、应用层根据所述请求消息构造新数据,并向数据层发送给更新请求;C、数据层完成数据更新,并向应用层反馈更新结束消息; D、应用层接收到更新结束消息后,更新内存中的数据信息,构造用户返回消息,并向图形用户界面异步反馈更新消息;E、所述图形用户界面接收到更新消息后更新显示信息。步骤B中应用层根据所述用户请求构造新数据的具体过程为应用层解析所述请求消息,得到所述请求消息的增加操作;根据所述增加操作构造新数据。所述应用层解析所述请求消息,得到所述请求消息的增加操作的具体实现过程为根据增加操作的动作类型和操作对象填写预定义的数据结构,完成新数据构造。步骤C中所述数据层完成数据更新的过程为数据层通过监控触发器自动完成相关数据表格间数据记录一致的更新,并通过结构式询问语言的插入指令,记录在操作记录跟踪日志中,以供应用层读取。步骤D中所述应用层接收到更新消息后,更新内存中的数据信息的具体过程为应用层接收到更新消息后,通过读取操作记录跟踪日志中的内容,更新内存数据信息。应用层通过主动刷新、定时刷新的方式更新内存数据信息,其,所述定时刷新方式的实现过程为应用层调用数据层接口,修改表格数据;数据层通过创建触发器、删除触发器、修改触发器,将应用层修改的数据操作记录到操作记录跟踪日志中;应用层定时读取操作记录跟踪日志的记录,更新内存中的公共数据;所述主动刷新方式的实现过程应用层调用数据层接口,修改表格数据;数据层通过创建触发器、删除触发器、修改触发器,将应用层修改的数据操作记录到操作记录跟踪日志中;若定时刷新时间还没有到,应用层调用数据层接口,访问内存数据; 应用层主动读取操作记录跟踪日志的记录,更新内存中的公共数据。步骤D中所述构造用户返回消息的过程为如果数据层反馈更新结束消息为成功,且应用层更新内存数据成功,则返回消息携带成功操作;如果数据层反馈更新结束消息和应用层更新内存数据有任意一项不成功的情况,则返回消息携带失败操作。另外,本专利技术还提供一种数据同步的系统,所述系统包括图形用户界面,人机接口,用于发送用户的请求信息;功能模块,位于应用层,用于接收用户发送的请求信息,并根据该信息构造新数据后,向数据层发送更新请求信息;触发器,位于数据层,用于完成数据的更新,以及完成相关数据表格间记录一致,将其记录在数据库的操作记录跟踪日志中;虚拟拓扑模块,位于数据层,是由数据库中一张或若干张表组成,用于配置数据变化的监控记录,公共模块,位于应用层,用于内存数据信息的管理,并根据所述操作记录跟踪日志完成内存数据的刷新以及支持相关数据表格间的同步;独立模块,位于应用层,用于实现虚拟拓扑模块配置数据变化的监控记录于上报同步。所述触发器包括创建触发器、删除触发器和更新触发器,分别用于实现外键检查、可配置的外键检查、级联删除以及扩展存储。所述公共模块的刷新方式包括主动刷新方式和定时刷新方式。由以上本专利技术提供的技术方案可以看出,本专利技术在现有技术的基础上增加了触发器、公共模块、虚拟拓扑模块和独立模块四个组件,所述公共模块和独立模块位于应用层,而所述触发器和虚拟拓扑模块位于数据层。触发器用于完成相关数据表格间数据记录一致的维护功能,并将其写入操作记录跟踪日志中,公共模块通过触发器跟踪数据库表格记录的创建、删除和更新过程,而虚拟拓扑模块依赖创建在各个主要表的触发器来完成数据的更新,由独立模块负责维护,并定时上报或主动触发上报界面的刷新。由此可见,本专利技术所述方案有益效果为1)存取速度快,不但降低了数据库操作的频率,也降低了复杂数据构造时对数据库的大量关联查询操作,同时给需要大量数据库操作的模块提供了充足的数据库操作资源和时间;2)应用层处理过程不需要考虑数据更新后,数据一致性维护问题,只需要调用数据层接口;3)简化应用层和数据层交互次数,减少人为因素、通讯错误引起的操作失败;4)当数据层发生变化,应用层不需要修改处理过程,可扩展性强;5)GUI的更新消息统一由独立模块完成,减少消息交互,提本文档来自技高网
...

【技术保护点】
一种数据同步的方法,其特征在于,包括:A、用户通过图形用户界面将用户请求消息发送给应用层;B、应用层根据所述请求消息构造新数据,并向数据层发送给更新请求;C、数据层完成数据更新,并向应用层反馈更新结束消息;D 、应用层接收到更新结束消息后,更新内存中的数据信息,构造用户返回消息,并向图形用户界面异步反馈更新消息;E、所述图形用户界面接收到更新消息后更新显示信息。

【技术特征摘要】
1.一种数据同步的方法,其特征在于,包括A、用户通过图形用户界面将用户请求消息发送给应用层;B、应用层根据所述请求消息构造新数据,并向数据层发送给更新请求;C、数据层完成数据更新,并向应用层反馈更新结束消息;D、应用层接收到更新结束消息后,更新内存中的数据信息,构造用户返回消息,并向图形用户界面异步反馈更新消息;E、所述图形用户界面接收到更新消息后更新显示信息。2.根据权利要求1所述数据同步的方法,其特征在于,步骤B中应用层根据所述用户请求构造新数据的具体过程为应用层解析所述请求消息,得到所述请求消息的增加操作;根据所述增加操作构造新数据。3.根据权利要求2所述数据同步的方法,其特征在于,所述应用层解析所述请求消息,得到所述请求消息的增加操作的具体实现过程为根据增加操作的动作类型和操作对象填写预定义的数据结构,完成新数据构造。4.根据权利要求1或2所述数据同步的方法,其特征在于,步骤C中所述数据层完成数据更新的过程为数据层通过监控触发器自动完成相关数据表格间数据记录一致的更新,并通过结构式询问语言的插入指令,记录在操作记录跟踪日志中,以供应用层读取。5.根据权利要求1所述数据同步的方法,其特征在于,步骤D中所述应用层接收到更新消息后,更新内存中的数据信息的具体过程为应用层接收到更新消息后,通过读取操作记录跟踪日志中的内容,更新内存数据信息。6.根据权利要求1或5所述数据同步的方法,其特征在于,应用层通过主动刷新、定时刷新的方式更新内存数据信息,其,所述定时刷新方式的实现过程为应用层调用数据层接口,修改表格数据;数据层通过创建触发器、删除触发器、修改触发器,将应用层修改的数据操作记录到操作记录跟踪日志中;应用层定时读取操作记录跟...

【专利技术属性】
技术研发人员:罗海骞
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1
相关领域技术
  • 暂无相关专利