用于验证远程数据库的方法和系统技术方案

技术编号:2863838 阅读:204 留言:0更新日期:2012-04-11 18:40
本发明专利技术的实施例提供用于通过网络验证远程数据库更新的方法和系统。可以比较本地数据库(200)记录与远程数据库记录,并可以生成例外。每个例外可以描述远程数据库记录和本地数据库(200)记录之间的差异。可以相关例外标识符与每个例外,其中可以相关例外标识符与记录的标识符。可以相关事件标识符与更新中的每个事件,其中可以相关事件标识符与记录的标识符。可以比较事件与对应于记录的例外来确定更新是否是有效的。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术的实施例一般涉及计算机数据库。更具体地说,这些实施例提供用于可靠地验证远程数据库更新的方法和系统。
技术介绍
随着数据库不断增加的规模和高度分布式结构,已经变得越来越难以保证网络内的相关数据库包含相同版本的数据。如果出现对一个数据库显著的改变,则需要尽可能快地更新其它数据库以包括这些改变。进行这些更新可能涉及频繁地将大量更新数据移动到多个数据库。这样处理的潜在的复杂性可能是极大的。这个问题也可能出现在其中通信是不可靠的系统内。在这种情况下,可能在传输期间丢失数据。因此,必须重传数据,并再次全部更新其它数据库。这种重复大大降低了系统效率以及数据库包含最新数据的范围。附图说明图1是根据本专利技术一种实施例的系统方框图;图2是根据本专利技术一种实施例的系统集线器的方框图;图3图示根据本专利技术一种实施例的从本地数据库到远程数据库的数据库更新的示例性传输;图4图示根据本专利技术一种实施例的发送文件;图5图示根据本专利技术一种实施例的初始化发送文件;图6是根据本专利技术一种实施例的发送文件和初始化发送文件生成的说明性定时图;图7是本专利技术一种实施例的流程图,其中可生成本地数据库的更新文件; 图8是本专利技术一种实施例的流程图,其中远程数据库可从本地数据库接收更新文件。图9是本专利技术另一种实施例的流程图,其中远程数据库可从本地数据库接收和验证更新文件。图10A是本专利技术一种实施例的流程图,其中可验证更新文件。图10B是本专利技术一种实施例的流程图,其中可验证更新文件。图11图示根据本专利技术一种实施例的更新文件验证。具体实施例方式本专利技术的实施例提供用于通过网络验证远程数据库更新的方法和系统。可比较本地数据库记录和远程数据库记录,并可生成例外(exception)。每个例外可描述远程和本地数据库记录之间的差异。例外标识符可与每个例外相关,其中例外标识符可与记录的标识符相关。事件标识符可与更新中的每个事件相关,其中事件标识符可与记录的标识符相关。可比较对应于该记录的事件和例外,以确定此更新是否有效。图1是图示根据本专利技术一种实施例的系统的方框图。通常,系统100可装备有一大型常驻内存的数据库,接收搜索请求并通过网络提供搜索响应。例如,系统100可以是对称的多处理(SMP)计算机,例如由纽约的Armonk的国际商业机器公司制造的IBM RS/6000M80或S80、加利福尼亚州圣克来克的SunMicrosystems公司制造的Sun EnterprisTM10000等等。系统100也可以是多处理器个人计算机,例如加利福尼亚州Palo Alto的Hewlett-Packard公司制造的Compaq ProLiantTMML530(包括两个Intel PentiumIII866MHz处理器)。系统100还可以包括多处理操作系统,例如IBM AIX4、Sun SolarisTM8操作环境、Red Hat Linux6.2等等。系统100可以通过网络124接收定期更新,此更新可同时并入数据库内。通过在不使用数据库锁定或接入控制的情况下将每个更新并入数据库,本专利技术的实施例可实现非常高的数据库搜索和更新吞吐量。在一种实施例中,系统100可包括耦合到总线101的至少一个处理器102-1。处理器102-1可包括内存超高速缓存(例如L1超高速缓存,为了清楚未图示出)。辅助存储器超高速缓存103-1(例如L2超高速缓存、L2/L3超高速缓存等等)可驻留在处理器102-1和总线101之间。在优选实施例中,系统100可包括耦合到总线101的多个处理器102-1、……、102-P。多个辅助存储器超高速缓存103-1、……、103-P也可驻留在多个处理器102-1、……、102-P和总线101之间(例如监听(look-through)结构),或者可选择地,至少一个辅助存储器超高速缓存103-1可耦合到总线101(例如后备模式)。系统100可包括耦合到总线101的存储器104,例如随机存取存储器(RAM)等等,用于存储信息和将由多个处理器102-1、……、102-P执行的指令。存储器104可存储大型数据库,例如用于将因特网域名转换成因特网地址,用于将姓名或电话号码转换成网络地址,用于提供和更新用户简档数据,用于提供和更新用户当前数据等等。有利地,数据库的大小和每秒转换的数量可以非常大。例如,存储器104可包括至少64GB的RAM,并可以装备有500M(即500×106)记录域名数据库、500M记录用户数据库、450M记录电话号码便携性数据库等等。在示例性的64比特系统结构上,例如包括耦合到至少64比特总线101和64比特存储器104的至少一个64比特大型处理器102-1,可使用单个不可中断操作将8字节指针值写入8字节边界上的存储器地址(即,可被八整除的存储器地址,或者例如8N)。通常,辅助存储器超高速缓存103-1的存在可简单地延迟8字节指针写入存储器104。例如,在一种实施例中,辅助存储器超高速缓存103-1可以是操作在连续写入(write-through)模式中的监听超高速缓存,所以单个的8字节存储指令可在没有中断的情况下并在仅两个系统时钟周期内将八字节的数据从处理器102-1移动到存储器104。在另一种实施例中,辅助存储器超高速缓存1031可以是操作在回写模式中的监听超高速缓存,所以8字节指针可以首先被写入到辅助存储器超高速缓存103-1,它随后可以将该8字节指针写入存储器104,例如,当将其中存储有8字节指针的超高速缓存线写入存储器104时(即,例如当特定的超高速缓存线或整个辅助存储器超高速缓存被“清洗”时)。最后,从处理器102-1的角度来看,一旦将数据锁存到处理器102-1的输出引线上,在一个连续的不中断的传送中将所有八字节的数据写入到存储器104内,所述传送可利用辅助存储器超高速缓存103-1的作用而延迟,如果存在的话。从处理器102-2、……、102-P的角度来看,一旦将数据锁存到处理器102-1的输出引线上,则在一个连续的不中断的传送中将所有八字节的数据写入到存储器104内,这通过辅助存储器超高速缓存103-1、……、103-P利用超高速缓存相干协议来实施,所述超高速缓存可延迟到存储器104的写入,如果存在的话。然而,如果将8字节指针值被写入到存储器104内错误对准的位置上,例如跨越8字节边界的存储器地址,则不能使用单个8字节存储指令从存储器102-1传送所有的八字节数据。相反,处理器102-1可发出两个单独的不同存储指令。例如,如果存储器地址在8字节边界之前的四字节开始(例如,8N-4),则第一存储指令将4个最高有效字节传送给存储器104(例如,8N-4),而第二存储指令将4个最低有效字节传送给存储器104(例如,8N)。重要地,在这两个单独的存储指令之间,处理器102-1可被中断,或者处理器102-1可放松总线101对另一系统组件(例如处理器102-P等等)的控制。因此,驻留在存储器104内的指针值将是无效的,直到处理器102-1可完成第二存储指令。如果另一个组件开始到这个存储器位置的单个不可中断的存储器读取,则返回无效值作为估计可能有效的值。类似地,可使用单个不可中断的操作将新的4字节指针值写入可被4整除的存储器地址(例如4N)。本文档来自技高网...

【技术保护点】
一种用于通过网络验证对远程数据库内的记录更新的方法,该更新包括至少一个事件,包括:比较远程数据库内的记录与本地数据库内的相应记录;对于每个差异,生成描述远程数据库记录和本地数据库记录之间差异的例外;相关例外标识符与每 个例外,其中每个例外标识符与记录的标识符相关;相关事件标识符与更新中的每个事件,其中每个事件标识符与记录的标识符相关;和通过比较事件与对应于该记录的例外来确定更新是否是有效的。

【技术特征摘要】
US 2001-11-1 60/330,842;US 2002-3-19 60/365,1691.一种用于通过网络验证对远程数据库内的记录更新的方法,该更新包括至少一个事件,包括比较远程数据库内的记录与本地数据库内的相应记录;对于每个差异,生成描述远程数据库记录和本地数据库记录之间差异的例外;相关例外标识符与每个例外,其中每个例外标识符与记录的标识符相关;相关事件标识符与更新中的每个事件,其中每个事件标识符与记录的标识符相关;和通过比较事件与对应于该记录的例外来确定更新是否是有效的。2.权利要求1的方法,其中如果通过对应于记录的事件证明对应于记录的每个例外是合理的,则对该记录的更新是有效的。3.权利要求2的方法,其中例外的类型包括第一例外类型,其中记录在远程数据库内,而不在本地数据库内;第二例外类型,其中记录在本地数据库内,而不在远程数据库内;和第三例外类型,其中记录在本地数据库和远程数据库内,并且本地数据库内记录的字段的值不同于远程数据库内该记录的相同字段的值。4.权利要求3的方法,其中事件证明例外是合理的,如果该事件是从本地数据库中删除记录,并且该例外是第一例外类型;该事件是记录添加到本地数据库,并且该例外是第二例外类型;该事件是修改本地数据库内的记录,并且该例外是第三例外类型;或者该事件是删除,其后跟随着记录被添加到本地数据库,并且该例外是第三例外类型。5.权利要求1的方法,还包括如果确定更新是无效的,在确定更新是无效的之后,将用于验证更新的方法重复给定次数。6.权利要求1的方法,其中比较包括比较整个本地数据库与整个远程数据库。7.一种用于验证远程数据库的方法,包括根据对本地数据库的递增改变将多个定期更新发送给远程数据库,多个定期更新中的每个定期更新包括至少一个事务处理;向远程数据库发送初始化更新,包括作为在开始时间上存在的本地数据库的本地数据库版本,其中将初始化更新应用于远程数据库;识别本地数据库与远程数据库之间的差异;确定差异是否是有效的;和通知远程数据库应用定期更新,其中这些定期更新具有的开始时间晚于初始化更新的开始时间。8.权利要求7的方法,还包括如果确定更新是无效的,在确定更新是无效的之后,将用于验证更新的方法重复给定次数。9.权利要求7的方法,其中差异包括第一差异类型,其中记录在远程数据库内,而不在本地数据库内;第二差异类型,其中记录在本地数据库内,而不在远程数据库内;和第三差异类型,其中记录在本地数据库和远程数据库内,并且本地数据库内记录的字段的值不同于远程数据库内该记录的相同字段的值。10.一种用于通过网络验证对远程数据库内的记录更新的系统,其中该更新包括至少一个事件,该系统包括至少一个处理器,耦合到网络;和存储器,耦合到处理器,该存储器包括数据库和指令,所述指令适合于由处理器执行以实现一种用于通过网络验证远程数据库内的记录更新的方法,该方法包括比较远程数据库内的记录与本地数据库内的相应记录;对于每个差异,生成描述远程数据库记录和本地数据库记录之间差异的例外;相关例外标识符与每个例外,其中每个例外标识符与记录的标识符相关;相关事件标识符与更新中的每个事件,其中每个事件标识符与记录的标识符相关;和通过比较事件与对应于该记录的例外来确定更新是否是有效的。11.权利要求10的系统,其中如果通过对应于该记录的事件证明对应于该记录的每个例外是合理的,则对该记录的更新是有效的。12.权利要求11的系统,其中例外的类型包括...

【专利技术属性】
技术研发人员:AN巴洛BT麦克米伦
申请(专利权)人:弗里塞恩公司
类型:发明
国别省市:US[美国]

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

1