专利名称:数据更新系统及方法
技术领域:
本发明涉及一种数据更新系统及方法。
背景技术:
在办公自动化高速发展的今天,数据库系统可以说是被应用最多的一种软件了。我们在 工作与生活中所应用的系统中几乎90%以上的系统都可以被称之为数据库系统。这些系统不 管是Web类型的还是桌面应用程序,它们都有个共同的特点涉及数据库技术。采用程序对 数据库进行增删读改等操作,来达到维护和保存信息数据的功能。其基本流程为系统接受 用户操作;系统连接数据库;数据库进行增删读改等操作;及返回结果至系统界面。这种典 型而传统的流程在数据库系统的发展过程中一直保存下来,并处于主导地位。
随着信息咨询高速发展,系统对数据的时效性要求越来越高,用户要求应用系统能反映 数据库中最新的数据。由此在Web系统上,包括JSF, Ajax等一系列Web2. 0新技术应运而生, 而在桌面应用程序上,采取了定时器之类机制去访问数据库,在很大程度上满足了这种需求 。但是,无论数据库中的数据是否更新,都会定时地査询数据库,增加了数据库的访问次数 ,如此反复的査询数据库,极大的增加了数据库服务器的负载,尤其是访问量较大的系统, 将极大降低数据库服务器的性能,甚至会导致服务器当机。
发明内容
鉴于以上内容,有必要提供一种数据更新系统,运行于计算机内,该计算机包括数据库 、应用系统以及连接该数据库与该应用系统的动态链接库,该数据库包括数据表及存储过程 ,所述数据表包括触发器,所述计算机还提供一个所述应用系统的操作界面,所述计算机还 包括执行模块,用于根据用户要求对所述数据库中需要更新的数据产生更新事件;触发模 块,用于根据所产生的更新事件触发该数据所存在的数据表的触发器;所述执行模块,还用 于控制所触发的触发器执行所述更新事件,还用于执行所述存储过程,并将被更新的数据信 息传递给所述存储过程,控制该存储过程调用所述动态链接库,并将所述被更新的数据信息 传递给该动态链接库,及控制该动态链接库通知所述应用系统进行数据更新;及判断模块, 用于判断所述被更新的数据所在的数据表是否显示于所述操作界面上,若没有显示于所述操 作界面上,则更新该操作界面。
此外,还有必要提供一种数据更新方法,该方法包括如下步骤根据用户要求对所述数据库中需要更新的数据产生更新事件;根据所产生的更新事件触发该数据所存在的数据表的 触发器;控制所触发的触发器执行所述更新事件;执行该数据库中的存储过程,并将被更新 的数据信息传递给所述存储过程;该存储过程调用用于连接数据库和应用系统的动态链接库 ,并将所述被更新的数据信息传递给该动态链接库;该动态链接库通知所述应用系统进行数 据更新;判断所述被更新的数据所在的数据表是否显示于所述操作界面上;及若没有显示于 所述操作界面上,则更新该操作界面。
相较于现有技术,所述数据更新系统及方法,只有当数据库的数据更新时,才去査询数 据库,通过动态链接库去通知应用系统更新操作界面的数据,避免了传统的频繁査询数据库 ,査看该数据库是否有更新,杜绝了无效多余的数据库访问,提高了应用系统运行的稳定性
图l是本发明数据更新系统较佳实施例的硬件架构图。 图2是图1中计算机1的功能模块图。 图3是本发明数据更新方法较佳实施例的作业流程图。
具体实施例方式
如图1所示,是本发明数据更新系统较佳实施例的硬件架构图。该系统包括计算机l,该 计算机1包括应用系统2,数据库3以及动态链接库4。该应用系统2可以为图书管理系统等, 所述数据库3可以为SQL Sever数据库。所述应用系统2与数据库3通过动态链接库4进行通信 ,该动态链接库4的存储路径为Windows的System32的目录,或者为该数据库3的执行目录。 所述计算机1用于根据应用系统2的请求査询数据库3,也可用于只有当数据库3中的数据进行 更新时,才进行査询数据库3,记录下所更新的数据信息,并通过所述动态链接库4通知所述 应用系统2的数据进行相应的更新。所述数据库3中包括有多个数据表5,每个数据表5中包括 至少一个触发器6,该触发器6由所述数据表5中需要更新的数据产生的更新事件进行触发, 该更新事件包括但不限于更新,增加或者删除所述数据表5内数据等,该触发器6被触发后执 行所述更新事件。所述数据库3还包括存储过程7,该存储过程7用于调用所述动态链接库4。 该计算机1还提供一个所述应用系统2的操作界面,用于显示所述数据库3的数据査询及修改 情况,还用于显示所有用户所査询过的数据表5。
如图2所示,是图l中计算机l的功能模块图。该系统包括初始化模块IO、査询模块12 、执行模块14、触发模块16、记录模块18及判断模块20。
初始化模块10用于检测数据库3中的触发器6及存储过程7是否存在,并读取和加载动态链接库4,显示所述应用系统2的操作界面。
査询模块12用于接收所述应用系统2发出査询数据库3的指令,还用于对所述数据库3进 行査询操作,并返回所述査询的结果给所述应用系统2 。
执行模块14用于根据用户要求对所述数据库3的需要更新的数据产生更新事件。所述更 新事件包括对该数据库3中数据的新增、修改及删除等事件。
触发模块16用于当所述数据库3中需要更新的数据的更新事件产生后,触发该数据所存 在的数据表5的触发器6。
所述执行模块14还用于控制所触发的触发器6执行该更新事件。
记录模块18用于记录所述被更新的数据信息。该更新的数据信息包括所述数据库3中 被更新的数据的地址以及所述数据库3的数据的更新方式等。
所述执行模块14还用于执行所述存储过程7,并将所述更新的数据信息传递给所述存储 过程7,该执行模块14还用于控制该存储过程7调用所述动态链接库4,并将所述更新的数据 信息传递给该动态链接库4。
所述执行模块14还用于控制该动态链接库4通知所述应用系统2进行数据更新。
判断模块20用于判断所述更新的数据所在的数据表是否显示于所述操作界面上。若所述 操作界面上没有显示所述更新的数据所在的数据表,则所述执行模块14通知所述应用系统2 对该操作界面进行更新,增加所述更新的数据所在的数据表。
如图3所示,是本发明数据更新方法较佳实施例的作业流程图。
步骤S30,初始化模块10检测数据库3中的触发器6及存储过程7是否存在,并读取和加载 动态链接库4,显示所述应用系统2的操作界面。
步骤S32,査询模块12接收所述应用系统2发出査询数据库3的指令,还用于对所述数据 库3进行査询操作,并返回所述査询的结果给所述应用系统2 。
步骤S34,根据用户要求对所述数据库3的需要更新的数据产生更新事件。所述更新事件 包括对该数据库3中数据的新增、修改及删除等事件。
步骤S36,当所述数据库3中需要更新的数据的更新事件产生后,触发模块16触发该数据 所存在的数据表5的触发器6。
步骤S38,所述执行模块14控制所触发的触发器6执行该更新事件。
步骤S40,记录模块18记录所述被更新的数据信息。该更新的数据信息包括所述数据 库3中被更新的数据的地址以及所述数据库3的数据的更新方式等。
步骤S42,所述执行模块14执行所述存储过程7,并将所述更新的数据信息传递给所述存
6储过程7。
步骤S44,该执行模块14控制该存储过程7调用所述动态链接库4,并将所述更新的数据 信息传递给该动态链接库4。
步骤S46,所述执行模块14控制该动态链接库4通知所述应用系统2进行数据更新。
步骤S48,判断模块20用于判断所述更新的数据所在的数据表是否显示于所述操作界面 上。若所述操作界面上没有显示所述更新的数据所在的数据表,则返回步骤S44,所述执行 模块14通知所述应用系统2对该操作界面进行更新,增加所述更新的数据所在的数据表。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳 实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方 案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种数据更新系统,运行于计算机内,该计算机包括数据库、应用系统以及连接该数据库与该应用系统的动态链接库,该数据库包括数据表及存储过程,所述数据表包括触发器,所述计算机还提供一个所述应用系统的操作界面,其特征在于,所述计算机还包括执行模块,用于根据用户要求对所述数据库中需要更新的数据产生更新事件;触发模块,用于根据所产生的更新事件触发该数据所存在的数据表的触发器;所述执行模块,还用于控制所触发的触发器执行所述更新事件,还用于执行所述存储过程,并将被更新的数据信息传递给所述存储过程,控制该存储过程调用所述动态链接库,并将所述被更新的数据信息传递给该动态链接库,及控制该动态链接库通知所述应用系统进行数据更新;及判断模块,用于判断所述被更新的数据所在的数据表是否显示于所述操作界面上,若没有显示于所述操作界面上,则更新该操作界面。
2.如权利要求l所述的数据更新系统,其特征在于,所述被更新的数 据信息包括所述数据库中被更新的数据的地址以及所述被更新数据的更新方式。
3.如权利要求l所述的数据更新系统,其特征在于,所述计算机还包 括初始化模块,用于读取和加载动态链接库,显示所述应用系统的操作界面。
4. 一种数据更新方法,其特征在于,该方法包括如下步骤 根据用户要求对所述数据库中需要更新的数据产生更新事件; 根据所产生的更新事件触发该数据所存在的数据表的触发器; 控制所触发的触发器执行所述更新事件;执行该数据库中的存储过程,并将被更新的数据信息传递给所述存储过程; 该存储过程调用用于连接数据库和应用系统的动态链接库,并将所述被更新的数据信 息传递给该动态链接库;该动态链接库通知所述应用系统进行数据更新;判断所述被更新的数据所在的数据表是否显示于所述操作界面上;及 若没有显示于所述操作界面上,则更新该操作界面。
5.如权利要求4所述的数据更新方法,其特征在于,所述被更新的数 据信息包括所述数据库中被更新的数据的地址以及所述被更新数据的更新方式。
6.如权利要求4所述的数据更新方法,其特征在于,在步骤根据用户 要求对所述数据库中需要更新的数据产生更新事件之前还包括读取和加载动态链接库,显 示所述应用系统的操作界面。
全文摘要
一种数据更新方法,包括根据用户要求对所述数据库中需要更新的数据产生更新事件;根据所产生的更新事件触发该数据所存在的数据表的触发器;控制所触发的触发器执行所述更新事件;执行该数据库中的存储过程,并将被更新的数据信息传递给所述存储过程;该存储过程调用用于连接数据库和应用系统的动态链接库,并将所述被更新的数据信息传递给该动态链接库;该动态链接库通知所述应用系统进行数据更新;判断所述被更新的数据所在的数据表是否显示于所述操作界面上;及若没有显示于所述操作界面上,则更新该操作界面。另外,本发明还提供一种数据更新系统。
文档编号G06F17/30GK101582071SQ20081030159
公开日2009年11月18日 申请日期2008年5月16日 优先权日2008年5月16日
发明者常小军 申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司