专利名称:避免数据崩溃的多点数据库同步协议的制作方法
背景技术:
发明领域本发明主要涉及计算机应用领域,它允多个用户同时访问。进一步说,本发明提出了一种系统和方法,它允许多个用户同时访问和编辑数据库。
背景技术:
数据库是一个具有逻辑结构的数据的集合,它允许用户、应用软件、或者基于逻辑功能的装置的访问和使用。数据库通常是以保存在存储装置上的以计算机程序或软件应用程序形式出现,但是它也可以仅仅是以实用方式排列和访问数据的一套规则。数据库系统包括对数据库进行存储和操作的计算机、输入数据和显示或者输出结果的输入/输出(I/O)装置以及对数据库不同部分进行通信和连接系统。数据库系统可以看作是一个物理系统(例如计算机终端,数据连接,输入输出装置,存储器,等等),而数据库本身代表用来存储和操作的数据信息。然而,实际当中项目数据库和项目数据库系统之间常常交换着使用。
数据库系统拥有的数据库能够对数据进行方便的存储、复查、操作、精确转换、拷贝或者对相同数据库结构的数据进行连接。这是靠数据存储索引和伴随数据的辅助信息的使用来实现的。数据库通常都保存在永久或半永久存储器系统上,这样的存储器一般叫作非易失存储器它能在系统发生突然断电时确保数据不会丢失。相比之下,保存在易失存储器上的数据,为避免数据丢失必须对其持续供电。授予Larsson等人的美国专利,编号为5745905,关于数据库存储问题的专利,在此一并引用。
数据库系统可以配置成为多用户系统。例如,零售店或许会发现开发维护一个与收银机、货物仓库和结算部门相连接的存货清单数据库将会非常有用。存货清单数据库允许多种行为对数据进行即时更新。例如,在商品销售过程中收银机可以通过更新存货清单数据库来反映仓库中商品的销售情况,当数据库信息提示货架上的商品已经减少到一定的程度后,与数据库相连的货物仓库就会迅速补充货架上的商品。而且结算部门也可以通过连接数据库并根据数据库信息来更新资金周转和税收债务信息。因此数据库既可以在交易过程中被收银机更新、可以在补充商品是被货物仓库更新,也可以被结算部门所更新。
数据库系统的用户通常被称作为客户,数据库客户可以是人,人通过计算机键盘,数据笔,条形码读入器,语音输入系统或类似的输入系统。同时数据库用户也可以是传感器、计数器、探测器、监控装置、计算机程序、逻辑器件或者别的能产生和修改数据库数据的系统。
数据库管理器执行下面一系列操作,例如,转换数据的值和通过拷贝、移动、连接或改变数据状态来操作数据。管理器的另外一个重要的功能是控制数据库的访问,也就是说数据库管理器控制着用户对数据库的访问,其中包括控制不同用户同时对多用户数据库的访问。数据库管理器一般是计算机程序/子程序或应用软件,它用一系列的规则或逻辑来组织数据并限制对数据库内数据的访问。本文中,术语数据库管理器是指数据库管理器功能或逻辑所驻留的计算机或物理处理装置。
图1A-D图示了数据库管理器101和客户端102-106。数据库管理器101在图中作为文件服务器形式出现。实际上,数据库管理器101可以置于任何不同的计算机或处理装置内。数据库管理器的功能也可以由具有相同型号计算机用户来实现。如图1A-D所示,数据库管理器的物理配置可用多种方式来实现。例如,数据库服务器101可以通过总线同客户端102-106相连,如图1所示。可以环形连接,如图1B所示。也可以星形连接,如图1C,或者如图1D的通信网状连接。在图1D中,数据库管理器101同客户端102-106的通信构成了通信网90。通信网90可以是因特网,可以是局域网,电话网络系统(PSTN),也可以是无线网或者不同用户间相互通信的其他形式的网络。
一般来说,数据库管理器既可以分布在网络中心,也可以分布在网络中的不同节点,例如,图1A-D的任何一个,数据库管理器既可以分布在单独一台计算机上如101,也可以分布在102-106不同的客户端上。在分布式数据库系统中制定一个使数据库不同部分能相互通信和合作的方案是可取的,授予Samuelsson等人的美国专利,编号5761672,关于分布式数据库系统,在此一并引用。
在一个多用户数据库中,不同的用户可以在不同的时间通过单一的入口访问数据库,也可以多个用户同时访问。不同用户同时访问、操作数据库可能导致数据库数据的崩溃,也就是说某个客户的数据被另一客户不经意的覆盖或修改就可能导致该用户数据的崩溃。例如,某一用户在编辑数据后保存就可能把另一用户修改后的数据覆盖掉。在本文中,术语编辑和修改是可以相互交换着使用的,同时还包括删除,添加或者对数据进行任何形式的修改。一个完整性的数据库方案,要求在多个用户同时对它进行编辑时,能够确保避免数据崩溃。
一种传统的完整性策略是通过限制,即一次只允许一个一编辑为目的的用户访问数据库来实现的。在这种策略下,同一时刻只允许一个用户修改数据库记录。在此期间,其他任何用户的权限为“只读”,即不允许他们编辑数据库。换句话说,某一时刻除了一个用户外其他任何用户对数据的编辑权限都是被禁止的。尽管这种方案能够确保数据库的完整性,但是它却过度的加重了多用户数据库系统的负担。
另一种传统的数据库完整性策略是,当两个或两个以上用户试图同时编辑同一记录时,采用了一个新的唯一的被修改的记录的标识符。这样,就允许多用户编辑,但是这样会导致产生数据库记录或整个数据库文件的多个版本。这种方案中,因为要保存不同用户的各种数据版本,就必须增加额外的存储设备,这是它的一大缺点。此外,既然每次当多个用户对数据进行编辑后产生多种不同的版本,这种方案并不是真正意义上的多用户数据库系统。
因此,需要一种改进的方法,在多个用户编辑数据库时确保数据库的完整性发明概述本发明允许多个用户同时对数据库进行编辑并能确保数据库的完整性。总的来说,本发明是通过使用一个能跟踪不同数据库数据的修改状态的可变计数器,来实现避免数据库崩溃的功能。因此,本发明的目的是提供一种在多用户同时对数据进行操作并保存而不会导致数据库崩溃的方法。
按照本发明的一个方面,上述的目标及其他目标可以由第一个用户访问数据库记录来实现。一旦允许第一个用户访问数据库时,数据库管理器记录了可变计数器的值(CCV)。CCV有一个第一值,这个值是当第一个用户进入数据库时根据数据库的状态确定的。如果第一个用户对数据编辑后,第二个用户又对数据进行了编辑,并保存了修改版的数据,那么CCV的值就会增加。同时,如果第一个用户再想保存数据记录的话,数据库管理器将拒绝他的要求,因为CCV的值已经发生了改变,而CCV的改变意味着这样的操作将会覆盖掉第二个用户的修改记录。
附图简述结合附图的优选实施方案的详细描述可以让本领域的技术人员很清楚的了解本发明的另外目标和优点,其中相同参数代表相同的元件,其中图1A-1D图示了连接有多个客户端的数据库管理器的计算机系统配置;图2描述了一个可能导致用户数据崩溃的多用户数据库状况;图3描述了根据本发明典型的实施方案来实现对数据库进行同步操作的步骤;图4描述了一系列可选操作,这些操作使客户在访问被拒绝的情况下保存修改过的数据成为可能;图5描述了了一种实施方案,这种实施方案中的可选操作取决于用户的预定的修改权;图6描述了一种方法,该方法根据本发明的一个可选实施方案对潜在的数据崩溃状态提出警告。
优选方案详述图2描述了一个可能导致用户数据崩溃的多用户数据库状况。在时间t=1时,用户A访问数据库记录X。本文中,术语数据库记录是指刚被编辑过的一部分数据。数据库记录可以是整个数据库文件,可以是数据库中的一小部分信息,也可以是数据库的任何其他部分。时间t=2时,用户B访问同一数据库记录,而此时数据库记录还没有被用户A修改过。当然,事实上用户B先于(例如时间t=0)用户A访问数据库也可能发生数据库崩溃。时间t=3时,用户B对数据库记录进行了编辑、删除或者修改并保存。用户A和B分别在时间t=1和t=2下载数据库记录并且是对记录的备份进行编辑,所以用户A和B不可能意识到对方对记录的任何修改。
如图2所示,如果用户A在时间t=4时修改了数据库记录X,此时如果用户A对修改后的数据进行保存,那么用户B修改后的数据就会丢失。用户A在时间t=4时的保存覆盖了用户B在此之前修改并保存过的所有数据,因为用户A所编辑的数据版本是来自时刻t=1先于时刻t=3,而用户B对修改后的数据的保存是在时刻t=3。
因此,在适当的地方没有足够的数据库同步访问方案,用户A在时刻t=4对最新修改的数据进行保存将会覆盖掉用户B在此之前修改并保存后的数据记录,这将导致数据库的崩溃。当多个用户对数据库同时进行编辑并保存,他们的这些操作又是彼此不知道的,这种情况就容易发生数据库的崩溃。
纵观这些描述,对用户A和B的操作过程可以描述为先访问数据库然后对数据库进行编辑和修改并保存。事实上,当某一用户在编辑数据库的同时,就产生了记录X的修改版,而这个修改版在保存以前是不允许任何其他用户访问和编辑的。任何用户在随后的访问(记录X)中都可以复查先此前对记录X修改并保存过的版本。
图3描述了根据本发明典型的实施方案来实现对数据库进行同步操作的步骤(流程)。在步骤S10,用户A试图访问数据库数据,例如,记录X。用户A可以通过向数据库管理器申请访问权限来进入数据库,数据库管理器控制着不同用户对数据库的访问权。举个例子,用户A可以是零售店的收银机,它通过访问和更新货物清单数据库里的记录来来反映货架上商品的销售情况。作为本实施方案或别的方案中的可选步骤,用户A在访问数据库时不必向管理器申请访问权,这种情况下,当操作能确保数据完整性时,数据库管理器仅仅监视用户的访问。
在步骤S12,根据一个典型实施方案,数据库管理器允许用户A的访问并向用户A提供或下载记录X的一个复制版,同时为记录X赋予一个可变计数器(CCV)的值。CCVs的使用提供了一种跟踪不同数据库修改记录状态的机制。CCV不一定是一个实际的数,它可以是任何形式的一个量,只要这个量可以增加或减少,或可以变成另外一个量。例如,CCV可以是一个字母,可以是日期,可以是文件或记录的大小,可以是记录中的字数,可以奇偶校验检,或者是数据库记录的其他的类似的度量。为方便说明,本文中CCV采用了数值形式的量。每次只要数据库记录被修改并保存后CCV得值就会增加一。图3所列出得例子中,用户A进入数据库得时候CCV的值是δc而用户A对记录第一次修改并保存后CCV的值就将增加1,即此时CCV=δc+1。简而言之,CCV=δc用作为参考值,它反映了用户A访问数据库时数据库记录的状态。
步骤S14代表一段时间,在这段时间里可以又多个用户对数据库记录进行编辑。在步骤S14中,除了用户A外的其他用户可以对记录X进行编辑,并且在数据库管理器为用户A提供记录X后(见步骤12)可以对修改后的记录进行保存。根据本发明,判断数据库是否处于潜在的崩溃状态并非取决于其他用户对记录X的访问是在用户A之前还是之后。它只取决于在其他用户保存了修的记录之后用户A是否又修改了记录并保存,如图2所示,CCV=δc所反映了多用户数据录的编辑状态。
根据本发明,在用户A访问数据库期间,只要没有别的用户对记录进行修改并保存,那么用户A就可以对记录A进行修改和保存。由于数据库记录的状态取决于CCV的值,所以只要CCV=δc,数据库管理器就允许用户A对记录X进行修改和保存而不会导致数据库的崩溃。这是因为用户A对记录修改后CCV的值与初始值是相同的,它说明在此期间并没有别的用户对记录进行修改,不然的话就意味着用户A的修改版将不可避免地覆盖掉别的用户的修改记录。换句话说,用户A只有在CCV的值没有发生改变的前提下才可以对记录X的修改版进行保存。
在步骤S16中,用户A已经对记录X进行了修改,并设法保存修改后的记录。在保存之前用户A必须征求数据库管理器的保存许可。如果在某个时间点上允许用户A保存修改后的记录,而在此之前已经有另外一个用户保存了他的修改记录并修改了CCV的值,那么就会导致数据库数据的崩溃,因为用户A的修改记录覆盖了别的用户的修改记录。
为避免发生数据崩溃,联系步骤S18,数据库管理器通过比较CCV的值与δc是否同来确定用户A访问记录X期间,是否有别的用户修改并保存了记录X,见步骤S12。如果步骤S18中的条件与“YES”相符合,也就是说CCV=δc,那么就会执行步骤S20,即允许用户A对记录X的修改版进行保存。相反,如果步骤S18中的条件与“NO”一致,数据库管理器就认为CCV>δc,那么就去执行步骤S22,即不允许用户A对记录X的修改版进行保存。在步骤S22中因CCV>δc从而拒绝了用户A对记录X修改版的保存。
在步骤S24中,管理器向用户A发送了一个错误信息,通知用户A他的保存要求被拒绝。如果用户A使用了显示设备,如计算机显示屏、移动电话屏、电视监视器等等,那么步骤S24的错误警告信息将如下所示ERRORPERMISSION TO SAVE RECORD X IS DENIEDRECORD X WAS MODIFIED AFTER ACCESS BY CLIENT A或者,错误信息可以以任何等效的方式传达给用户,因为本领域的技术人员很容易辨认这些错误信息。这些等效的方式包括打印,语音提示或者其他类似的提示方法或装置。在以显示形式或信号形式通知用户A错误信息的同时,程序流程将转而处理步骤S28,步骤S28行用户A传达了一个选择一个或多个可行操作的信息。步骤S30中用户A在保存要求被拒绝后可以选择一些其他的操作。
图4描述了用户A的保存要求受到拒绝后的一系列可选操作。紧接着是步骤S24,S24向用户A发送了一个错误信息,之后程序将执行步骤S28。在步骤S28中,数据库管理器向用户A传送了一个信息,要求用户A选择一个或多个可行操作。其中,可选操作可以是如下一些操作,如,它可以是步骤S34-S39中任何其中的一步或多步操作的混合。而用户A的保存要求被拒绝后,对于一些本领域的技术员来说还可以选择其它的一些操作。
在步骤S34中,用户A可以通过更新最初访问数据库时的记录X,见图3中步骤S14,来判断其他用户是否已经修改了记录X。这样做就能确保在保存记录X之前用户A的记录X能够正确反映其他用户对记录X的修改情况。可选操作步骤S34能够以各种不同的方式来执行。举个例子,用户A只有在确定与其他用户不冲突的情况下才能更新其他用户先前修改并保存过的记录。另外,无论用户A的修改记录与其他用户是不是冲突都可以更新其他用户先前的修改记录。或者,其他用户可根据访问数据库的先后、访问数据库优先权的高低或者其他形式的标准来更新全部或部分数据库记录。
步骤S35允许用户A对修改后的记录保存在新的文件或记录中。为避免不必要地增加相同记录的版本,一般尽量避免把修改后的记录保存为新的文件,除非不这样做将导致数据崩溃。换句话说,步骤S35所提供的操作选择适合于在其他用户对记录进行了修改并保存,从而使CCV的值>δc的情况,而在两个用户仅仅是同时访问数据库的情况下,该操作是不可取的。
步骤S36中,数据库管理器同意用户A允许其他潜在数据崩溃可能的用户在用户A保存记录之前再复查一下用户A的修改记录。通常,在用户A访问数据库后,某个用户对修改后的记录的保存很可能引起另一用户数据的潜在的崩溃。图3中的步骤S14就是这种情况。当另外一个用户,例如用户B访问了数据记录X,但是没有对记录X进行实质性的修改,这种情况下,步骤S36就显得特别的有用。举个例子,用户B在访问记录X期间有可能因为敲击键盘而不经意地向记录X插入一些空格,这种情况下,既然用户B并没有对记录X进行实质性地修改,毫无疑问,用户B允许用户A对记录X的修改版进行保存,不然的话,也就是说如果用户B对记录X进行了实质性修改,那么用户A的保存将导致数据崩溃。步骤S36的实施是通过向另外一些用户(这些用户对记录X的修改将导致数据崩溃)如用户B授权,使他们允许用户A对记录X的修改版进行保存,而允许用户A保存修改记录的前提是,要么通知用户B,用户A的记录将保存并覆盖掉用户B的记录,或者在征询用户B并获得用户B的同意后保存用户A的修改记录,但不给出提示信息,如用户A的修改记录将覆盖用户B的记录的信息。
步骤S37中,用户A可以将记录X的修改版拷贝一份并保存到一个临时存储器里,如计算机或计算机应用程序中的“剪切板”(clipboard)。把修改后的记录保存到临时存储器后,用户A就可以检索记录X的最新版本,此时CCV>δc。用户A可以通过“粘贴”暂时被存储在剪切板内的记录X的修改版而对记录X的最新版进行修改。这样做就可以避免用户B的修改记录被用户A不经意地破坏掉。
步骤S38中,在用户A保存当前修改记录之前允许他阻止(pull up)一份其他用户先前修改保存过的记录X的备份,以便复查。这就使用户A有机会,比如判断先前保存过的记录是否足够保证避免因覆盖其他用户此前保存过的记录而引起的数据崩溃,或者为其他编辑目的而查看记录。
最后,在步骤S39中,允许用户A把修改过的记录保存到记录X中,而无需考虑任何此前修改并保存过的其他记录。毫无疑问,这将导致任何此前保存过的修改记录的崩溃,一个可行的解决办法是判断不同的用户是否先前已经授予了修改记录的权力,如图5的连接处所讨论的那样。
图5描述了了一种实施方案,这种实施方案中的可选操作是基于预定授予修改权的基础上的。根据这个实施方案,在访问记录X之前,见图3的步骤S10,管理器向用户A制定了一个修改记录的预定权限的尺度,来判断是否可以对数据库记录进行修改。用户预定的修改记录权限可以是对数据库所有记录都相同,也可以是有选择的基于记录-记录,根据数据库的每条不同记录来确定。
在步骤S26,在执行图3的步骤S30之前,数据库管理器通过复查用户A的预定修改权限来决定用户A保存修改记录时是否设置一些权限。步骤S28中提供给用户A的可选操作,如同图4中的步骤S34-S39,决定于管理器向用户设置的预定修改权限。
例如,如果用户的预定的修改权限不受任何限制那么他可以选择步骤S34-S39操作中的任何一步。反之,如果用户的预定的修改权限受到不同程度的限制,那么他的可选操作将只能是步骤S34-S39中的某几步,甚至不能选择其中的任何一步。预定的修改权限就其本身来说取决于对数据安全、数据的私有性、数据崩溃的可能性或者数据库的完整性方面的考虑。
步骤S28中,一旦管理器向用户发出选择操作的命令后,程序将去执行步骤S30的操作。步骤S30中,在用户A的修改记录试图覆盖其他用户的修改记录的要求遭到拒绝后,可以选择经授权后的一种或多种操作。
图6描述了一种方法,该方法根据本发明的一个可选实施方案对潜在的数据崩溃状态提出警告。它警告用户在用户对数据记录复查以后又有用户对其进行了修改,从而可以避免出现数据崩溃。换句话说,如果不允许用户保存修改记录,那么数据库本身是不会产生数据崩溃的。当然,如果保存权力被取消的话,用户的修改记录就会崩溃。
图6的步骤S10中,用户A通过向数据库管理器请求访问权限来访问数据库记录X,数据库管理器控制着用户对记录X的访问。步骤S11在本实施方案或其他方案中决定用户A对数据库的访问是只读的还是可编辑的。在步骤S11中,如果选择“只读”那么程序将去执行步骤S13,此时管理器禁止用户对数据记录进行编辑。步骤S12中,管理器允许用户A访问记录X,并向他提供或下载记录X的复制版,同时设定参数CCV=δc。步骤S14中,将出现多用户编辑数据库的情况,因为在用户A访问记录X后,见步骤S12,又有其他用户访问并编辑记录X。
步骤S15中,另一用户,如用户B,对记录X的编辑,产生了记录X的一个新版本。因为记录X已被修改,所以数据库管理器将增加CCV的值使之等于δc+1。随后,在步骤S23中,数据库管理器向用户A发出一个警告信息通知他记录X已经被另一用户修改从而引起数据的潜在崩溃。发送给用户A的信息可以是对用户B保存了记录X的修改版所提出的警告,也可以是对记录X产生了新的修改版提出的警告。后一种情况中,系统要求用户B在保存修改记录之前通知数据库管理器已经修改了记录。这样就可以避免两个不同的用户产生额外的数据库修改版从而使管理器很难协调处理这两用户对记录的修改。
除了在步骤S23中发送警告信息外,系统还包括一些可选操作,这些操作在数据库可能崩溃的情况下向用户A提供了操作选择,见步骤S30。这些可选操作可以与上文中,图4的连接处所列出的操作一致,也可以与本领域中的技术员所采用的一些可选操作相类似。
本领域的技术人员应该理解到在不背离其实质和本质特点的情况下,本发明可以以其他的特定形式出现。
权利要求
1.一种避免数据崩溃的多用户同步数据库方法,该方法包括以下步骤通过第一个用户寻求访问数据库记录而联系数据库管理器;由数据库管理器允许第一个用户访问数据库记录;数据库管理器在第一个用户访问记录后保存一个可变计数器的值,该可变计数器的值是在第一个用户访问记录后根据数据记录的状态确定的第一个值;第二个用户在第一个用户访问数据库记录之后保存记录的修改版;响应第二个用户对记录的修改版的保存,可变计数器的值在原先的基础上增加一第一个用户寻求保存数据库记录;和如果确定可变计数器的值已经由原来的值增加了,则数据库管理器拒绝第一用户保存数据库记录。
2.权利要求1的方法,其中由数据库管理器允许第一个用户访问的步骤包括数据库管理器向第一个用户授权使其能够访问数据库记录。
3.权利要求1的方法,其中由数据库管理器允许第一个用户访问数据库记录的步骤包括数据库管理器通过监控数据库记录来判断是否有用户访问了记录。
4.权利要求1的方法,其中寻求保存数据库记录的步骤包括第一个用户向数据库管理器请求保存数据库记录的权限。
5.权利要求1的方法,还包括以下步骤第一个用户的保存请求被拒绝以后为他提供可选操作。
6.权利要求5的方法,其中提供给第一个用户的可选操作取决于他的预定的修改权。
7.权利要求6的方法,还包括以下步骤让第一个用户选择至少一种可选操作。
8.权利要求1的方法,还包括以下步骤在拒绝第一个用户的保存请求后,为其提供一个可选操作的列表;其中,可选操作还包括一个或多个以下步骤更新数据库记录以反映记录在此之前已被第二个用户修改并保存;数据库记录保存到新的文件中;第一个用户向第二个用户请求许可使其能够保存至少一部分数据库记录;如果有数据库记录的修改,拷贝和粘贴数据库记录的修改至剪切板;第一个用户在保存记录之前,如果有第二个用户的修改记录,复查一下第二个用户的修改记录;或保存记录并覆盖掉第二个用户的修改记录。
9.一种可避免数据库里的数据或者加入数据库的数据崩溃的多用户同步访问方法,该方法包括以下步骤第一个用户访问数据库;在第一个用户访问记录后,数据库管理器保存一个可变计数器的值,该可变计数器的值是在第一个用户访问记录后根据数据记录的状态确定的第一个值;在第一个用户访问数据库记录之后,第二个用户访问记录并对记录进行修改产生了新的版本;和通知第一个用户数据库记录已经被修改。
10.权利要求9的方法,其中还包括以下步骤第一个用户的保存请求遭到拒绝以后为他提供一些可选操作。
11.权利要求10的方法,其中提供给第一个用户的可选操作取决于他的预定的修改权。
12.权利要求11的方法,其中还包括以下步骤让第一个用户选择至少一种可选操作。
13.权利要求9的方法,其中通知第一个用户数据库记录已经被修改的步骤是响应第二个用户已经对修改版进行保存而执行的。
14.权利要求9的方法,其中通知第一个用户数据库记录已经被修改的步骤是响应第二个用户已经对记录进行了修改而执行的。
全文摘要
多点数据库同步系统允许多个用户同时访问和编辑而不会产生意外的数据崩溃,并能够保证数据库的完整性。可以按数据库应用软件的一部分来配置的数据库管理器,用一个可变计数器来跟踪修改,当修改后的记录保存以后,管理器将增加可变计数器的值。当用户访问数据库记录时,数据库管理器将自动检查可变计数器的值。然后,如果有用户试图把修改保存到数据库记录时,管理器就会去检查可变计数器的当前值,以确定是否有别的用户在该用户提出存盘要求之前对记录进行了修改并保存。如果可变计数器的当前值已经增加,那么管理器就会拒绝该用户的存盘要求,同时向该用户提供一些可选操作。这种方法可以避免个用户的数据库记录不小心被其他用户覆盖掉。
文档编号G06F17/30GK1346472SQ0080592
公开日2002年4月24日 申请日期2000年2月7日 优先权日1999年2月8日
发明者L·诺瓦克, J·比尔克勒 申请人:艾利森电话股份有限公司