专利名称:数据自动更新的制作方法
背景技术:
1.发明领域本发明涉及自动地更新软件应用程序使用的数据元素。尤其是,本发明涉及自动地更新软件应用程序使用的表单文档中的数据元素。
2.相关技术描述现有的系统能允许正访问一个相同数据库的不同的或相同的应用程序同时地使用/访问该数据库。尤其是,使用包含多数据元素的多表单文档的应用程序,允许使用应用程序的用户同时编辑(更新)在表单中的数据元素。例如,一个数据元素可以是一个字段,该字段包含了条目(数据)。典型地,为了获得同步使用,当第一个用户开始操作一个表单时,例如输入或编辑数据元素,由于该表正处于被第一个用户访问的状态,因而要预防其他用户访问该相同数据库,要预防其他用户操作该表单或该表单的某些数据元素,该系统会对相同数据库或可应用的数据元素加锁。因此,许多典型的系统执行一个“后进后赢”(“a last in,last win”)的更新过程。尤其是,在一个典型系统里,第一个用户在对一个逻辑表完成最终操作,如对该表进行电子标记,存储,打印或传递之前,该第一个用户在该表单中输入的数据可能被另一个用户覆盖。
进一步讲,在维护一个公共(主/基本/中心)数据库和本地(基于应用程序的)数据库的现有系统中,该相同数据库和该基于应用程序的数据库应该是同步的。例如,一个网络环境中,如客房服务器网络中,该相同数据库是一个网络(服务器)数据库,位于客户终端上的基于应用程序的本地数据库,允许用户方便地执行应用程序任务而无需网络连接。当维护两个分离的数据库时,无论是在一个网络环境之中还是在其中有应用程序执行的一个单机环境中,每个数据库都拥有一个基于应用程序的数据库和一个本地的相同数据库,则一个事务日志数据库可维护对在该基于应用程序的数据库所进行的改变的一个日志。该基于应用程序的数据库可在晚些时候,例如在该用户重新连接于该网络的时候,被同步于该相同数据库。但是,当用户的改变被分别施加到该相同数据库时,这种同步就引发”后进后赢”的问题。例如,在该网络环境中,由于同步,脱机进行的改变可能成为在该主数据库中的最新改变,而不管其它用户已执行过什么。
更具体讲,在维护两个数据库并且正使用可共享或可使用公共数据元素的表单的该系统中,当用户同时编辑在不同表单里的公共数据元素时,一个用户并不会意识到其他用户对数据所做的更改,有可能覆盖(删除)其它用户的数据。进一步讲,在这样一个系统里,该用户可能认可一个表单,而不知道由其它用户对其所进行的改变。另外,对用户而言,其提供的是一个低效的数据输入系统。例如,两个用户打开同一个空表单或打开共享公共数据元素的不同空表单,当第一个用户完成该表单操作并存储该表单(把数据存储至该主数据库中)时,第二个用户并不知道由他打开的该表单中的一些字段已经被第一个用户操作完成了。那么,当第二个用户也做完该字段操作并存储该表单时,则第一个用户的数据就被覆盖或删除。进一步讲,该第二个用户不能利用通过使用已由第一个用户完成的字段的好处,而需要重复数据键入。
发明概述根据本发明的实施方案,可通过监控一个数据库来检测在数据库中被访问的数据的变化,以及运用同步规则响应检测到的变化,从而在使用该数据期间更新该访问数据的方式,实现本发明。
进一步讲,可通过一个设备实现本发明,包含一个处理器,监控该数据库以检测在该数据库中对被访问的数据所进行的改变,并根据相应于该被检测的改变的同步规则,在使用该数据期间更新该访问数据。
更进一步讲,可通过一个过程实现本发明,该过程访问一个数据库中的数据,输入该被访问的数据到一个表单,使用被第一个用户输入过的被访问数据的逻辑表,监控该数据库(13)以检测该表单正被该第一个用户使用时由第二个用户对该被访问的数据的改变,根据相应于该被检测的改变的规则,在该表单正被第一个用户使用的同时更新该表单中的该被访问的数据,根据该更新过程显示该被访问的数据的更新状态,以及由第一个用户存储该被访问的数据进入该数据库。该规则被用于同步数据库里的数据的同时改变。该被访问的数据的该改变状态可以是一个被显示的信息,它指示自从第一个用户开始使用该被访问的数据后,是否该被访问的数据被改变;指示是否该第一个用户改变了该被访问的数据;以及指示是否当第一个用户正使用该被访问的数据时第二个用户改变了该被访问的数据。进一步讲,本发明可通过在一个单机计算机,或者在诸如客户-服务器系统或INTERNET网的网络环境中的一个单机处理设备来实现。
再进一步讲,可通过一个设备实现本发明,该设备包含用于访问存储在一个数据库里的数据的装置;用于输入该被访问的数据到一个表单的装置;用于使用具有第一个用户输入访问的数据的表单的装置;用于监控该数据库以检测当该表单正被该第一个用户使用时由第二个用户对该被访问的数据所做的改变的装置;以及用于根据相应于该被检测的改变的规则当该表单正被第一个用户使用时更新该表单中的该被访问的数据的装置。
更进一步讲,可通过自动更新表单的一个系统实现本发明,该系统包含把数据存储至一个数据库的一个服务器;以及包含客户端,客户端经由一个网络被连接到该服务器并访问存储在该数据库中的该数据,在该数据库中该被访问的数据是由第一个用户输入到一个表单中的,数据库正被监控以检测当该表单正被该第一个用户使用时,由第二个用户对该被访问的数据所做的改变以及根据相应于该被检测的改变的规则当该表单正被第一个用户使用时。在该表单中该被访问的数据正被更新。
再更进一步讲,可通过一个计算机可读媒体实现本发明,该媒体用处理指令编码,该处理指令用于完成自动更新被一台计算机执行的表单的一种方法,该方法包含访问存储在一个数据库中的数据;输入该被访问的数据到一个表单;使用具有由第一个用户输入的该被访问的数据的该表单;监控该数据库以检测当该表单正被第一个用户使用时;由第二个用户对该被访问的数据所做的改变以及根据相应于该被检测的改变的规则当该数据正被第一个用户使用的更新该表单中的该被访问的数据。
附图简述本发明的优点将变得显而易见,并且其优点将从该优选实施方案的以下描述中更方便快速地体会到,联系以下附图
图1.是一个软件功能方框图,它根据一个计算机系统的一个实施方案中的本发明,在该计算机系统中本发明被实现。
图2.是一个软件功能方框图,它根据另一个计算机系统的一个实施方案中的本发明,在该另一个计算机系统中本发明被实现。
图3.是在本发明中操作的一个流程图。
图4-6是根据本发明的一个软件过程的流程图。
优选实施方案的描述详细参考本发明的本优选实施方案,它们的实例在附图中被示出,其中相同的参照数通篇都指的是相同的元素。该实施方案在以下被描述以便通过参照图示解释本发明。
图1是根据本发明在一个网络10中被实现的软件功能方框图。例如,该网络10可以有一个常规表单面构形,以及一个常规结构,诸如一个客户-服务器结构,使用常规的通信协议。例如,该网络10可以是一个局域网,或是一个广域网,诸如INTERNET网。参照图1,至少一个服务器11与网络12通信并且该服务器11把数据存储至一个数据库13中。例如,该数据库13(也被称为公共/网络/中心/基本数据库)可以是一个常规(商用)的数据库管理系统(DBMS),它支持常规或标准查询语言,诸如结构化查询语言(SQL)。客户终端14a-14n与该网络12通信并执行软件,该软件经由使用该DBMS功能的该网络12以使用/访问数据库13中的该数据。例如,该至少一个的服务器11以及该客户终端14a-14n可以是常规计算机,诸如个人,便携和手持计算机,或是其它计算设备,它们能够存储,能够显示和处理信息,能够经由使用常规技术的一个网络通过接收和传输信息以与远程计算机和计算设备通信。
每个客户终端14a可执行应用程序(软件)16a-16n,应用程序访问该网络数据库13以在数据库中检索和存储数据,例如由用户,检索和存储数据。该数据的使用可能涉及浏览,编辑,在该数据库13中的新数据的输入(创建)或者该数据的处理。进一步讲,应用程序16a-16n可以分别维护本地数据库18a-n。虽然在一个实施方案中,一个应用程序不能维护一个分离的本地数据库。本发明能处理被包含于每个应用程序16中的某个程序段的表单。在一个优选实施方案中,本发明处理软件过程(更新过程)20a-20n的表单,该表单执行于计算机的一个多任务操作系统之中并且使用常规编程技术以与该应用程序16分别通信。尤其是,每个软件过程20可以在客户终端14中由一个线程执行来实现。分别对应于应用程序16a-16n的软件过程20a-20n的操作将在以下被详细描述。
图2是根据在一个单机计算设备30中实现的本发明的一个软件功能方框图。例如,该计算设备30可以是一台常规计算机,诸如一台个人、便携和手持计算机,或者是能够存储、显示和处理信息的其它计算设备。用于存储信息的存储设备,诸如存储器,硬盘,或移动媒体驱动器(如,CD-R,CD-ROM,CD-RW,DVD-ROM,DVD-R和DVD-RAM)可通过常规技术连接到该设备30以提供对该设备30的本地存储。虽然,在一个单机系统中实现本发明不需要该计算设备30,但该计算设备30有能力经由使用常规技术的网络接收和传输信息以与其它计算机和计算设备通信。设备30也执行应用程序(软件)16a-16n。该应用程序16a-16n访问存储在该设备30本地中的相同数据库32,例如通过用户由于使用的目的来检索在该数据库32中的数据和存储数据在该数据库32中。类似于图1所示的该实施方案,该数据库32可以是一个常规DBMS,该DBMA支持常规的或者标准的查询语言,如SQL语言。该数据的使用可能涉及浏览,编辑,在该数据库32中的新数据的输入(创建)或者该数据的处理。进一步讲,虽然并不被需要,该应用程序16a-16n还可以分别维护相应的应用数据库18a-18n。本发明可分别处理被包含于每个应用程序16中的一个程序段的表单。在一个实施方案中,本发明处理软件过程20a-20n的表单,该表单执行于该设备30上的一个多任务操作系统环境之中并且使用常规编程技术以与该应用程序16分别通信。尤其是,每个软件过程20可以在设备30中由一个线程执行来实现。分别对应于应用程序16a-16n的软件过程20a-20n的操作将在以下被详细描述。当然,本发明不限于或不被约束于任何特定硬件结构并且上述的图1和图2仅仅提供例子。
本发明的操作将参照图3进行描述。本发明的操作对单机结构或是网络结构都是相同的。因此,该网络结构(图1)的操作将做为一个实施例被描述。当本发明涉及同步用户对一个数据库所进行的同时改变时,本发明的一个实施方案是处理一个系统里的一个软件过程的形式,在该系统中应用程序16使用表单文档。例如,一个健康/诊所信息系统包括各种各样的应用程序,应用程序使用和分享表单,例如输入病人数据。本发明的该系统使用常规技术以维护由表单的用户对该数据库13中的该数据所进行的多种修改的某一历史数据。例如,一个交易日志数据库可以维护对该数据库13进行改变的一个日志。当例如基于一个用户命令一个应用程序16a在40处打开一个表单的时候,该应用程序16访问相应于从该网络数据库13打开的表单的数据,并且通过该用户把该数据输入进正在处理(使用)的该表单中。每个应用程序16可以使用一个或多个表单并且表单可以有重叠的数据元素。
因为维护对数据库13中该数据的该多种修改的该历史数据,在被打开的表单中的该数据元素的一个更新状态信息或一个更新日志可以被提供给在42处的该用户,以提供该用户一个机会以重新浏览更新。为了提供被打开逻辑表的数据元素的任何可用更新数据对应于该应用程序16a的软件过程20a会在44处定期地(根据系统需求被定义)检查该网络数据库。进一步讲,该软件过程20a可以维护被打开表单的修改的一个历史,以至于软件过程20a可以定义一个时间,该表单或者该本地应用数据库18a最终与该网络数据库13同步。如果被打开表单的该数据元素所进行的多种改变是可用的,那么在数据库13中改变的规则应用在46处以更新被打开表单的数据元素。一旦打开该表单,就在48处通知一个用户有关对此被打开表单的任何更新。进一步讲,在50处存入该表单之前如果有必要,一个更新状态信息或更新的一个日志可以在48处被提供给该用户,以便该用户提供重新浏览更新以及改变更新。
因此,当通过实际减少或消除无意地覆盖其它用户的数据这种无效劳动以对一个数据库进行同时改变的时候,本发明提供一次有效的“后进后赢”更新过程(即同步过程)。进一步讲,在42处和48处提供更新状态信息以容纳有微小差异的数据(字段)而字段可以被打开该表单的用户改变,也可以自该表单被打开以来未被改变但该表单在打开期间被该网络数据库13更新。就像某些情况下会出现法律分歧一样,也可以由用户来核数据,该用户在把该数据存入网络数据库13之前,为有效化可以在该表单中重新浏览对该数据的所有当前和过去的改变(通过该用户和其它用户进行的改变)。进一步讲,自动更新被第一个用户打开并进行数据输入的表单,可以由第二个用户消除第一个用户的不必要的数据项来完成。例如,一个用户可以打开一个大部分空的表单并完成(填入)大部分字段。在第一个用户存入该表单之前,第二个用户可以在能发现该表单大部分为空的一个不同位置,打开相同的表单。如果第一个用户存入该被完成的表,即把在该表单中输入的数据存入到该网络数据库13,之后通过本发明的软件过程20,第二个用户的逻辑表将会被自动更新(填入)。第二个用户仅仅必须完成该表单的其余空字段以节省时间。
软件过程20的操作将参照图4-6被更详细地描述。尤其是,图4-6是为响应对一个基本数据库的改变以在该表单为打开的时候更新一个表单的数据元素而被运用的一个示例性同步规则集合的流程图。一个表单可为以是一个数据元素/数据项的集合。例如可以代表一个“姓”和一个“电话号码”字段,一个数据元素包括一个姓和电话号码键入值(数据)。在图4中,60和62处的软件过程20,为了将在一个被打开的表单中的被访问的数据输入(更新)为新的有效数据,定期检查该数据库(例如网络数据库13和本地基本数据库32)。尤其是,对于在一个被打开表单中的每个数据元素而言,为一次更新,在62处检查该网络数据库13。如果更新是有效的,在64处该新记录被改变的数据元素以及与其相关的信息。将从该网络数据库13中检索出来,并作为一个新记录队列(列表)来处理而被装入。该软件过程20检查从该表单上一次被更新的时间开始就存在的记录或者对照新记录(例如,来自数据库13,32的记录)检查从该表单被打开(旧记录)的时间开始就存在的记录。例如,旧记录是正被使用或被操作的记录,同时旧记录可以包含存储在该基于应用的数据库18中的数据,或者存储在该客户终端14存储器中的数据。开始时,在66处对照该新记录检查在被打开表单中具有输入项(数据)的或者被一个用户编辑过(完成过或填入过数据元素)的旧记录。如果在66处有一条在该打开表单中被处理过的一条旧记录,则在68处为一次数据元素匹配(即作为与该新记录相同的数据元素的该旧记录,例如二者都是“姓”)而比较该旧记录和该新记录。例如,一个匹配可以被定义为如果记录有相同的类型和索引。在一个表单中的组合数据元素可以包含一个或输入项或者选择项,例如在一个健康信息系统中的病人药物和过敏反应。如果该新记录是一个组合,则一个组合标识也可以被用做一个匹配准则。如果在68处没有一个匹配,则该比较过程被重复以在66处找该被打开表单中的其它旧记录。如果在68处有一个匹配,则在70处检查该旧记录以决定是否该旧记录被已打开表单的用户所更新。如果该旧记录在70处被该用户更新,则在72处检查该新记录以决定是否该新记录被电子签名(esig)。一个数据元素可以使用常规技术被电子签名,诸如通过要求一个口令以编辑该数据元素。如果该新记录被电子签名,在24处,为一个匹配而去比较该旧记录和该新记录的电子签名。如果该新旧记录的电子签名不匹配,则在76处,该旧记录会被该新的电子记录所替代。那么在76处,该被打开表单的一个数据元素会被来自该数据库13的一个已改变的数据元素所更新。在78处的一个状态标志可被设置以显示一个更新的发生。该状态标志常被用来提供给一个用户更新状态信息,这将在以下被更详细地描述。
如果在74处,该新记录的电子签名匹配于该旧记录的电子签名,则该新记录在80处从该新记录列中被清除。(进一步讲,在72处,该新记录上没有电子签名,则在80处,该新记录会从新记录列中被清除。)因此,做为一条规则,由一个被打开的表单的一个用户完成的一个现存的字段(旧记录)被来自该数据库13的新数据所替代或更新,仅仅是是否该新数据被另一个用户所电子签名(即,另一个用户拥有较高的权限,不允许由其它用户对该已签名的数据进行编辑(edits))。做为一条总规则,该用户对该被打开表单所做的(但对于数据库13还没有存储的)当前的改变,可以是被电子签名的也可是没被电子签名的,将被保持在来自该网络数据库13的改变之上,除非来自该网络数据库13的改变(例如,由另一个用户)被其它用户电子签名。例如,如果第一个用户签名到一个数据元素并把该数据元素存入该网络数据库13,则在该已签名的数据元素中的条目不能被已打开了包括相同已签名的数据元素的一个表单的第二个用户所修改或清除,并且第二个用户已改变及签名到了相同已签名的数据元素但还没把该数据元素存入到该数据库13。在这种情况下,被第二个用户所打开的该表单将由第一个用户被来自该已签名的数据元素所更新。
如果在70处,该旧记录还没被该用户更新,则在82处检查该新记录决定该新记录是否为一个删除记录。如果在82处该新记录是一个删除记录,则在84处该旧记录被标记为被删除(deleted)并且在80处该新记录被从可用的新记录队列中清除。该标记过程指出一个更新的发生。
总之,图4中的示例性同步规则集合提供如果在如被一个用户使用所打开的一个表单中有一条记录(旧记录),并且该旧记录被该用户键入或修改以及有一条匹配的、无电子签名的新记录,则该新记录被从该列新数据中清除而不对该已打开的表单进行更新(66到68到70到72到80)。如果有一条旧记录被该用户键入或修改并存在具备一个匹配电子签名(例如,由相同用户签名)的一条匹配的新记录,则该新记录将被从该新记录列清除而不对该已打开的表单进行更新(66到68到70到74到80)。如果有一条旧记录被该用户键入或修改并存在具备一个不匹配电子签名(例如,由不同用户签名)的一条匹配的新记录,则该旧记录将被该新记录所替代(更新将发生,66到68到72到74到76到78)。如果有一条旧记录未被该用户键入或修改并有一个被标识为已删除的匹配的新记录,则该旧记录将被标识为已删除(更新将发生)并且该新记录将被从该新记录列中清除(66到68到82到84到80)。当然,其它同步规则集合可以被运用于本发明并且本发明不限于图4-6中的示例性同步规则集合。
参照图5,如果在66处的条件不被满足,该新记录列中的其余新记录在起始于100处被处理。尤其是在100处,被加入到该旧记录列(即,在已打开表单中和正被使用或被操作的记录列)的任何新记录将被视为旧记录在100处处理。通常,在100处,将被处理的其余旧记录是空的/空白的,以及是附加信息在其中可以是输入(input)的组合记录,诸如包含一个或药物名字的“药物”字段。如果在100处有旧记录,则在102处为了一次数据元素和内容的匹配(即,该旧记录与该新记录是否有相同数据元素,诸如两者都是“姓”,以及在该旧记录中的、其可以为空或可在一个二进位组合码(COMBO)字段里被完成的该条目,是否匹配该新记录中的该条目)。例如,如果记录有相同的类型,索引和数据,则可以被定义为一个匹配。如果该新记录是一条组合记录,则一个组合标识也可做为一条匹配准则被使用。如果在102处有一个匹配,则该新记录在104处从该新记录队列中清除并且在100处为了在该已打开表单中的其它旧记录进行重复比较。因此,如果一条旧组合记录的条目(数据)与该新记录的那些条目相同则一个更新操作是不需要发生的。如果在102处没有一个匹配,则在106处检查该旧记录以确定是否通过是相同的数据元素来匹配。该旧记录与该新记录。例如,如果记录有相同的类型和索引,则可以被定义为一个匹配。如果该新记录是一个组合数据元素,则一个组合标识也可以被用做一条匹配准则。
如果在106处有一个匹配。则在108处检查该旧记录以决定是否该旧记录被电子签名以及该新记录未被电子签名。如果在108处,该旧记录被签名而该新记录未被签名,则在104处通过从该新记录队列清除该新记录使得该更新不会发生。因此,在108处,由于在被运用的规则下该旧记录是被签名,所以另一个用户不能覆盖或者编辑该用户的一条被签名的数据元素,此时该用户正操作于该已打开表单(即,该已打开表单的该用户可以存入该表单因此该被签名的数据元素将覆盖其它用户的数据)。这个规则也与该总规则(在上被描述)一致,在一个已打开表单中,一个已完成且未被一个用户签名的字段将被保持在从该网络数据库提供的更新数据让除非该更新数据有更高权限签名。因此,在108处,如果该旧记录被签名并且该新记录也被签名,则该已打开表单的更新可以发生并且在110处为该更新类型检查该新记录。进一步讲,在108处,如果该旧记录未被签名并且该新记录被签名,则该已打开表单的更新可以发生并且在110处未该更新类型检查该新记录。更进一步讲,在108处,如果该旧记录未被签名并且该新记录也未被签名,则该已打开表单的更新可以发生并且在110处为该更新类型检查新记录。
如果在110处该新记录是一条删除记录,则在112处该表单中的该旧记录被清除(即,在该表单中的该字段的该数据条目被删除)并且在114处可以设置一个状态标志可以指出一个更新的发生。如果在110处该新记录不是一条删除记录,则在116处该表单中的该旧记录被该新记录所替代(即,在该表单中的该字段的该数据条目被更新)。随后,在114处可以设置一条状态标志可以指出一个更新的发生。
如果在106处该旧记录与该新记录不匹配,则在18处检查该新纪录以决定该新记录是否为一条删除记录。如果在118处该新记录是一条删除记录,则在104处该新记录被从该新记录列清除以停止该新记录的处理。如果在118处该新记录不是一条删除记录,则该在120处新记录被加入到该旧用户的记录列中。因此,在120处,例如,通过加入数据条目诸如另一个药物到该“药物”字段,在该表单中的一个组合字段的该数据条目被更新。其后,在114处可设置一个状态标志以指出一个更新的发生。在104处,在114处设置该状态标志之后,在该表单的一个数据元素被更新之后,或者在一条新更新记录处理之后,该新记录被从该新记录列中清除并且在100处重复检查该表单的旧记录的该过程。
总之,图5中的该示例性同步规则集合提供如果有一条新记录完全(即,相同数据元素和条目)匹配一条旧记录,则该新记录将被清除(100到102到104)。如果有一条新记录被电子签名以及有一个匹配的旧记录,则该旧记录将被该新记录替代(更新将发生,100到106到108到110到116到114到104)。如果有一条被标记为已删除的新记录与一条未被电子签名的旧记录匹配,则该旧记录将被清除(更新将发生),(100到106到108到110到112到114到104)。如果有一条未被电子签名的新记录与一条未被电子签名的旧记录匹配,则该旧记录将被该新记录(100到106到108到110到116到114到104)所替代(更新将发生)。如果有一条未被电子签名的新记录与一条被电子签名的旧记录匹配,则该新记录将清除而没有对已打开表单的一个更新(100到106到108到104)。如果有一条新记录不与任何旧记录匹配,则该新记录将被加入到该旧记录列中(即,通过在该已打开表单中完成一个数据元素或通过在该已打开表单中加入一个条目到一个组合数据元素,更新将发生)(100到106到118到120到114到104)。如果有一条新记录被标记为已删除并且不与任何旧记录匹配,则该新记录将被从该新记录列中清除而不更新该已打开的表单(100到106到118到104)。
当然,其它同步规则集合可以被运用并且本发明不限于参照图5所描述的该示范性同步规则集合。例如,在自动更新该用户的表单之前,为了考虑/审核,一个新记录可以被提交给该用户。因此可提供一次可选择性的自动数据刷新。进一步讲,本发明的该软件过程20可以被扩展到n个用户和n个表单。例如,如果四个用户正在编辑表单,并且其中一个用户存入数据,则其余三个用户可以得到更新,即使他们的表单国包含有与第一个用户存入的数据重叠的数据元素。
参照图6,如果在100处没有其它将被处理的旧记录,则在130处该系统决定是否那些已更新的数据元素可以在该客户终端14的一个显示屏上显示。如果在130处那些已更新的数据元素不是可显示的,则来自该数据库13的新记录的处理过程只完整的。如果那些已更新的数据元素是可显示的,则在132处显示一条信息以指示或通知正在操作于更新的该已打开表单上的用户。对于所有可显示的记录(数据元素),在134-144处更新历史数据/日志的信息可以显示在客户终端14的一个显示屏上。尤其是,该更新日志信息可使用不同颜色、图标或注释菜单(bubble)来显示,以提供给该用户重新浏览更新、更新类型以及容纳更新的有效的认可/确认或者权限。例如,如果在138处一个表单数据元素(字段)被该已打开表单的该用户更新过,则在146处一个特别的“被用户更新”颜色可被使用以显示该字段的条目(数据)。在148处,一个字段的条目可用一个特别的“从该网络数据库更新”颜色显示。在150处,一个字段的条目可用一个特别的“被用户删除”颜色显示。在152处,一个字段的条目可用一个特别的“从该网络数据库删除”颜色显示。在148处,一个字段的条目可用一个特别的“没被改变”颜色显示。当然,该图标和信息菜单可以是与对在一个被打开的表单中的一个数据元素进行更新的类型相符合并显示在一条计算机上的任何信息和任何图象类型。
因此,本发明可以方便地提供一个系统以允许正在使用来自同一个数据库数据的用户同时工作而不用锁住该相同数据库。进一步讲,本发明能提供一个系统以允许正在使用来自同一个数据库数据的用户同时工作而不会无意中覆盖由另一个用户在该数据库中输入的先前的数据。更进一步讲,本发明可以提供一个系统以通知正在同时工作并且正在使用来自同一个数据库数据的用户,使得用户在操作于该数据上的同时该数据库可以被其它用户改变。
更特别的是,本发明能提供一个系统,该系统允许正使用应用程序而应用程序又使用了含有来自一个数据库的数据的表单文档的用户访问、编辑和更新该表单数据(数据元素)而不锁住该数据库,防止当第一个用户正在编辑(正在更新)该表单数据时无意中覆盖其它用户对该数据库的多种改变以及当用户正在访问该表单数据时通知用户有关其它用户对该数据库的改变。进一步讲,例如本发明在使用一个应用程序期间,通过在该应用程序执行期间,运用同步规则去更新该应用程序中的数据元素的方法,提供一次有效数据刷新。尤其是,本发明可以提供一个系统以允许用户高效和同步地编辑表单文档,表单文档是来自一个数据库的一个数据元素/数据项的集合。更进一步讲,本发明的系统容纳了被不同应用程序使用的不同表单,表单具有重叠的(共享的)数据元素。
尽管本发明的一些优选的实施方案被图示及描述,但是可被本领域的那些技术人员认同的是在本实施方案中所做的改变没有脱离于本发明的原则和精神,其范围在本权利要求及它们的等价物中被定义。
权利要求
1.一种过程,包含监控一个数据库以检测该数据库中被访问的数据的改变;以及响应检测的变化,在使用该数据期间,根据的同步规则更新被访问的数据。
2.一种设备,包含一个处理器,一个数据库以检测该数据库中被访问数据所做的改变,以及在使用该数据期间,根据相对于该被检测的改变的同步规则更新该被访问的数据。
3.一种过程,包含访问已存储在一个数据库中的数据;把该被访问的数据输入到一个表单;使用具有此由第一个用户输入被访问的数据的表单;监控该数据库以检测当第一个用户正在使用该逻辑表时由第二个用户对该被访问的数据所做的改变;以及根据相应于该被检测的改变的规则当该表单正被该第一个用户使用时更新在该表单中的该被访问的数据而同时。
4.根据权利要求3的该过程,进一步包含根据该更新,显示该被访问的数据的更新状态;以及在该数据库中存储由该第一个用户输入的被访问的该数据。
5.一种设备,包含一个处理器,访问已存储在一个数据库中的数据,把该被访问的数据输入到一个表单,使用具有由第一个用户输入的、被访问的数据的该表单,监控该数据库以检测当该表单正被该第一个用户使用时由第二个用户对该被访问的数据所做的改变,以及当该表单正被该第一个用户使用时根据相应于该被检测的改变的规则更新在该表单中的该被访问的数据而同时。
6.根据权利要求5的该设备,其中该规则同步由该第一个用户和该第二个用户对该被访问的数据所进行的同时改变。
7.根据权利要求5的该设备,其中该规则基于由第二个用户对该被访问的数据的编辑的特性以及该被访问的数据的特性。
8.根据权利要求5的该设备,其中由该第一个用户使用该被访问的数据包括编辑该被访问的数据。
9.根据权利要求5的该设备,其中当该表单正被该第一个用户使用时该处理器提供了给该第一个用户的更新通知。
10.根据权利要求9的该设备,其中该更新通知包含显示对应表单中每个被访问数据的更新历史信息。
11.根据权利要求10的该设备,其中该更新通知包括根据该更新,用不同颜色显示该被访问的数据。
12.根据权利要求10的该设备,其中该更新通知包括把注释菜单与该被访问的数据相关联。
13.根据权利要求5的该设备,其中输入被访问的数据在本地存储以及该数据库在远程存储。
14.根据权利要求5的该设备,其中该处理器更进一步维护该被访问的数据的一个改变日志。
15.一种设备,包含用于访问已存储在一个数据库中的数据的装置;用于把该被访问的数据输入到一个表单的装置;用于使用具有此由第一个用户输入的被访问的该数据的该表单的装置;用于监控该数据库以检测当该表单正被该第一个用户使用时由第二个用户对该被访问的数据所做的改变的装置;以及用于当该表单正被该第一个用户使用时根据相应于该被检测的改变的规则更新在该表单中的该被访问的数据的装置。
16.一种自动更新表单的系统,该系统包含一个服务器,把数据存储至一个数据库中;以及经由一个网络被连接到该服务器以及访问已存储在该数据库中的该数据,其中该被访问的数据被输入到由第一个用户使用的一个表单中,该数据库被监控以检测当该表单正被该第一个用户使用时,由第二个用户对该被访问的数据所做的改变。以及当该表单正被该第一个用户使用时根据相应于该被检测的改变的规则,更新在该表单中的该被访问的数据。
17.用处理指令编码的一种计算机可读媒体,以实现通过某一台被计算机执行自动更新表单的一种方法,该方法包含访问已存储在一个数据库中的数据;把该被访问的数据输入到一个表单;使用具有由第一个用户输入的被访问的该数据的该表单;监控该数据库以检测当该表单正被该第一个用户使用时由第二个用户对该被访问的数据所梆的改变;以及当该表单正被该第一个用户使用时根据相应于该被检测的改变的规则更新在该表单中的该被访问的数据。
全文摘要
一个过程,该过程访问一个数据库(13)中的数据,输入该被访问的数据到一个表单,使用拥有第一个用户访问的该数据的该表单,监控该数据库(13),以检测在第一个用户使用该逻辑表的同时第二个用户对该被访问的数据进行的改变,根据对应于该被检测的改变的规则,更新该表单中的该被访问的数据(20a-n)而同时该表单正被该第一个用户使用,以及根据该更新显示该被访问的数据的更新状态。该更新状态可指示自从该第一个用户开始使用该被访问的数据以来,是否该被访问的数据没有被改变过;指示第一个用户是否改变了该被访问的数据;以及指示在该第一个用户正使用该被访问的数据时是否该第二个用户改变了该被访问的数据。本过程可在一个单机处理设备或者一个网络(10)中实现。
文档编号G06F15/00GK1459061SQ02800640
公开日2003年11月26日 申请日期2002年2月25日 优先权日2001年3月13日
发明者J·A·约翰森, R·P·史密斯 申请人:菲利浦电子北美公司