CN111352992B - 数据一致性检测方法、装置及服务器 - Google Patents
数据一致性检测方法、装置及服务器 Download PDFInfo
- Publication number
- CN111352992B CN111352992B CN201811579862.9A CN201811579862A CN111352992B CN 111352992 B CN111352992 B CN 111352992B CN 201811579862 A CN201811579862 A CN 201811579862A CN 111352992 B CN111352992 B CN 111352992B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- user
- track
- result set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据一致性检测方法、装置及服务器,涉及数据库测试的技术领域,该方法包括:获取用户访问数据库的历史轨迹;统计预先设置的时间段内,历史轨迹中包含的有效操作轨迹;获取数据库中预先存储的原始数据,根据原始数据和有效操作轨迹计算数据库当前数据的结果集合;比对数据库当前数据与结果集合是否一致;如果是,确定数据库满足一致性要求。本发明提供的数据一致性检测方法、装置及服务器,能够有效提升数据库的一致性检测的准确性,进而保证了数据库的可用性。
Description
技术领域
本发明涉及数据库测试的技术领域,尤其是涉及一种数据一致性检测方法、装置及服务器。
背景技术
云存储通常指通过集群应用、网格技术或者分布式文件系统等功能将网络中大量各种不同类型的存储设备用过应用软件集合起来协同工作,共同对外提供用户需求存储和业务访问功能的一个系统。
因此,云存储对用户来讲,不是指某一个具体的设备,而是指一个由许许多多个存储设备和服务器所构成的集合体。同时,云存储服务也为用户提供了电子数据的普适访问,并且,用户所做的数据变动都能自动反馈到云存储对应的服务器或者云端,并被服务器或者云端推送到相关的用户端,如何高效地保障云存储数据的一致性,已然成为当今云计算和云存储领域比较热门的一个话题,同时,也吸引了很多技术人员来进行进一步的探索。
通常,为了保证云存储数据的一致性,需要进行数据同步过程,而数据同步过程涉及一系列的网络通信行为和本地计算行为,以同步用户的文件创建、文件删除和文件修改等操作。而在数据同步过程中,如果出现网络中断,或者网络不稳定等,往往会出现同步中断,或者同步延迟等,使得用户的操作行为难以同步到云存储中的原始数据,进而出现云存储中数据不一致的情况,导致云存储数据的可用性较低。
发明内容
有鉴于此,本发明的目的在于提供一种数据一致性检测方法、装置及服务器,以有效提升数据库的一致性检测的准确性,进而缓解上述云存储数据的可用性较低的技术问题。
第一方面,本发明实施例提供了一种数据一致性检测方法,该方法包括:获取用户访问数据库的历史轨迹;统计预先设置的时间段内,历史轨迹中包含的有效操作轨迹;获取数据库中预先存储的原始数据,根据原始数据和有效操作轨迹计算数据库当前数据的结果集合;其中,结果集合包括有效操作轨迹对原始数据作用下生成的多个数据包;比对数据库当前数据与结果集合是否一致;如果是,确定数据库满足一致性要求。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述获取用户访问数据库的历史轨迹的步骤包括:获取用户访问数据库中指定数据包的历史轨迹;其中,历史轨迹包括:一个用户对指定数据包进行访问的历史轨迹;多个用户分别访问不同指定数据包的历史轨迹;以及,多个用户同时访问相同指定数据包的历史轨迹。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述根据原始数据和有效操作轨迹计算数据库当前数据的结果集合的步骤包括:如果有效操作轨迹中包括多个有效操作的轨迹,对多个有效操作进行组合;计算每个有效操作的组合对原始数据作用下得到的数据库当前数据的结果;将计算的每个有效操作的组合对应的结果汇总,生成数据库当前数据的结果集合。
结合第一方面,以及第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述方法还包括:如果监测到用户登录数据库,记录用户的操作行为;当监测到用户退出登录时,将记录的操作行为设置为用户本次登录数据库的历史轨迹。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述方法还包括:确定操作行为中对数据库中存储的数据进行操作的行为;将操作行为中对数据库中存储的数据进行操作的行为标记为有效操作轨迹。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述比对数据库当前数据与结果集合是否一致的步骤包括:判断数据库当前数据是否为结果集合中包括的多个数据包中的其中之一;如果是,确定数据库当前数据与结果集合一致。
第二方面,本发明实施例还提供一种数据一致性检测装置,该装置包括:获取模块,用于获取用户访问数据库的历史轨迹;统计模块,用于统计预先设置的时间段内,历史轨迹中包含的有效操作轨迹;计算模块,用于获取数据库中预先存储的原始数据,根据原始数据和有效操作轨迹计算数据库当前数据的结果集合;其中,结果集合包括有效操作轨迹对原始数据作用下生成的多个数据包;比对模块,用于比对数据库当前数据与结果集合是否一致;确定模块,用于在比对模块的比对结果为是的情况下,确定数据库满足一致性要求。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述获取模块用于:获取用户访问数据库中指定数据包的历史轨迹;其中,历史轨迹包括:一个用户对指定数据包进行访问的历史轨迹;多个用户分别访问不同指定数据包的历史轨迹;以及,多个用户同时访问相同指定数据包的历史轨迹。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述计算模块用于:如果有效操作轨迹中包括多个有效操作的轨迹,对多个有效操作进行组合;计算每个有效操作的组合对原始数据作用下得到的数据库当前数据的结果;将计算的每个有效操作的组合对应的结果汇总,生成数据库当前数据的结果集合。
结合第二方面,以及第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第三种可能的实施方式,其中,上述装置还包括:记录模块,用于如果监测到用户登录数据库,记录用户的操作行为;设置模块,用于当监测到用户退出登录时,将记录的操作行为设置为用户本次登录数据库的历史轨迹。
结合第二方面的第三种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,上述装置还包括:行为确定模块,用于确定操作行为中对数据库中存储的数据进行操作的行为;标记模块,用于将操作行为中对数据库中存储的数据进行操作的行为标记为有效操作轨迹。
结合第二方面,本发明实施例提供了第二方面的第五种可能的实施方式,其中,上述比对模块用于:判断数据库当前数据是否为结果集合中包括的多个数据包中的其中之一;如果是,确定数据库当前数据与结果集合一致。
第三方面,本发明实施例还提供一种服务器,该服务器包括存储器以及处理器,所述存储器用于存储支持处理器执行上述第一方面所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
第四方面,本发明实施例还提供一种计算机存储介质,用于存储计算机程序指令,当计算机执行所述计算机程序指令时,执行如第一方面所述的方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种数据一致性检测方法、装置及服务器,能够获取用户访问数据库的历史轨迹,并统计预先设置的时间段内,历史轨迹中包含的有效操作轨迹,计算数据库当前数据的结果集合,进而比对数据库当前数据与结果集合是否一致,以确定数据库是否满足一致性要求,在检测过程中,通过统计预先设置的时间段内的历史轨迹的过程,能够有效提升数据库的一致性检测的准确性,进而保证了数据库的可用性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据一致性检测方法的流程图;
图2为本发明实施例提供的一种数据一致性检测装置的结构示意图;
图3为本发明实施例提供的另一种数据一致性检测装置的结构示意图;
图4为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着Internet网络技术的发展和计算机技术的不断提高,网络中传输和处理的数据的能力直线增长。人们希望获得一种直接、便捷的计算处理方式,不需要安装应用软件,只要连接互联网,就可以利用连接在网络中的空闲的计算机资源进行任务处理。
在此背景之下,云计算应运而生,所谓云计算,就是通过计算机网络去连接由大量服务器、存储设备集群构成的云计算平台,来获取远程客户端所需要的服务。而云计算服务商则是将一项复杂的运算任务分成若干个部分,通过分布在计算机网络中的计算机协同合作,最终将运算结果传输到客户端,从而实现个人数据在远程的计算资源集群的运算。
云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供按用户需求的数据存储和业务访问功能的一个系统。
云存储对用户来讲,不是指某一个具体的设备,而是指一个由许许多多个存储设备和服务器所构成的集合体。使用者使用云存储,并不是使用某一个存储设备,而是使用整个云存储系统带来的一种数据访问服务。所以严格来讲,云存储不是存储,而是一种服务,其核心是应用软件与存储设备相结合,通过应用软件来实现存储设备向存储服务的转变。
在现有的云存储系统中,为了保证数据的可靠性和可用性,多采用数据同步过程,将用户在客户端上对数据的操作同步到云存储的服务器或者云端,以保障云存储数据的一致性。目前,云存储系统中的数据一致性的维护策略包括强一致性维护策略、最终一致性维护策略、洪泛式一致性维护策略等,但是这些策略多是在网络正常情况下进行的,当网络出现中断,或者不稳定时,难以动态地调整数据一致性维护策略,降低了云存储数据的可用性和用户的体验度。
基于此,本发明实施例提供的一种数据一致性检测方法、装置及服务器,可以有效缓解上述技术问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据一致性检测方法进行详细介绍。
实施例一:
本发明实施例提供了一种数据一致性检测方法,该方法可以应用于服务器,具体地,该服务器可以采用分布式测试的方法,对数据库的一致性进行检测,如图1所示的一种数据一致性检测方法的流程图,该方法包括:
步骤S102,获取用户访问数据库的历史轨迹;
通常,该用户为使用该数据库的用户,而在测试阶段,该用户可以是模拟用户,模拟实际用户访问数据库的操作,以便于服务器监视该访问操作。
步骤S104,统计预先设置的时间段内,历史轨迹中包含的有效操作轨迹;
通常,该有效操作轨迹可以包括用户对数据库中保存的原始数据的进行实质性操作的轨迹,例如,对文件的写入、删除和修改等操作,进一步,上述预先设置的时间段的时长,可以由用户进行设置,本发明实施例对此不进行限制。
步骤S106,获取数据库中预先存储的原始数据,根据原始数据和有效操作轨迹计算数据库当前数据的结果集合;
其中,上述结果集合包括有效操作轨迹对上述原始数据作用下生成的多个数据包;
在实际使用时,用户对数据库的访问过程是实时访问或者实时存储的过程,当服务器监测到预先设置的时间段内用户的有效操作轨迹后,就会基于这些有效操作轨迹进行校验和计算,以便于得到有效操作轨迹之后的数据库中保存的当前数据。
进一步,上述结果集合通常为用户的有效操作之后的可能的数据或者文件的集合,例如,用户可以在文件中写入数据,在写入的过程中,数据库可以每个预定的时间间隔进行自动保存,由于用户的写入操作可以是连续的操作过程,因此,每次自动保存时生成的临时文件通常都是不同的,这些临时保存的文件,都可以是上述结果集合中的其中一个元素。当用户完成写入操作,并点击保存之后,此时数据库的当前数据即为原始数据与用户写入的数据的叠加,并且,该当前数据,也可以是结果集合中的一种。因此,上述结果集合为服务器根据原始数据和用户的有效操作进行计算后得出的可能的数据结果的集合。
数据S108,比对数据库当前数据与结果集合是否一致;
步骤S110,如果是,确定数据库满足一致性要求。
具体地,该比对过程可以包括:判断数据库当前数据是否为上述结果集合中包括的多个数据包中的其中之一;如果是,确定数据库当前数据与结果集合一致。即,当结果结合包含数据库的当前数据时,可以确定数据库满足一致性要求。
如果数据库不满足一致性需求,则可以发出通知,通过弹出通知窗口,发送邮件、语音播报、发送即时通信消息等多种方式发出通知,提示数据库的数据不一致问题,以便可以及时介入处理,避免出现不必要的损失和问题,保证数据库的可用性。
本发明实施例提供的一种数据一致性检测方法,能够获取用户访问数据库的历史轨迹,并统计预先设置的时间段内,历史轨迹中包含的有效操作轨迹,计算数据库当前数据的结果集合,进而比对数据库当前数据与结果集合是否一致,以确定数据库是否满足一致性要求,在检测过程中,通过统计预先设置的时间段内的历史轨迹的过程,有效提升数据库的一致性检测的准确性,进而保证了数据库的可用性。
在实际使用时,上述获取用户访问数据库的历史轨迹的步骤可以包括单线程的监测过程,也可以包括多线程的监测过程,具体地,可以包括:获取上述用户访问数据库中指定数据包的历史轨迹;其中,上述历史轨迹包括:一个用户对指定数据包进行访问的历史轨迹;多个用户分别访问不同指定数据包的历史轨迹;以及,多个用户同时访问相同指定数据包的历史轨迹。
具体地,一个用户对指定数据包进行访问的过程,通常是单线程过程,多个用户分别访问不同指定数据包,以及,多个用户同时访问相同指定数据包的过程通常是多线程过程,而在实际使用时,无论是单线程过程,还是多线程过程,上述预先设置的时间段内,获取的历史轨迹中包含的有效操作轨迹都可以包括一个或者多个,对于一个有效操作轨迹的情况,上述结果集合通常是该有效操作轨迹包括的有效操作对原始数据作用下得到的数据,例如,如果该有效操作轨迹是用户删除数据时记录的轨迹,此时,结果集合包括的数据通常是原始数据删除相应数据后剩余的数据。
进一步,如果上述有效操作轨迹中包括多个有效操作的轨迹,在计算数据库当前数据的结果集合时,需要对多个有效操作进行组合;通常,该组合的过程是随机的,每个组合中包括的有效操作的执行顺序是不同的,例如,对于包括写入和删除的有效操作时,虽然最终数据量是一样的,但是由于操作顺序不同,其最终的存放结果也是不同的,因此,可以计算每个有效操作的组合对原始数据作用下得到的数据库当前数据的结果;并将计算的每个有效操作的组合对应的结果汇总,生成数据库当前数据的结果集合。
在实际使用时,上述指定数据包可以是云存储中,其他多个用户能够访问到的数据包,例如,云盘中存储的数据包,当该数据包被分享时,其他用户可以根据实际需要对该数据包进行操作,如下载该数据包,修改该数据包等等,通常,上述一个用户对指定数据包进行访问的过程为单线程操作过程,在相同时间段内,多个用户分别访问不同指定数据包,或者,多个用户同时访问相同指定数据包的过程为多线程操作过程,因此,服务器在监测用户访问数据库的历史轨迹时,可以执行单线程监测过程,也可以执行多线程操作过程,因此,能够更加贴近用户的实际使用行为,进行动态监测。
通常,只有在用户成功登录数据库之后,服务器才能执行监测的过程,因此,上述方法还包括:如果监测到用户登录上述数据库,记录用户的操作行为;具体地,该操作行为是用户登录该数据库后,对数据库中的原始数据进行操作的行为,如读、写、删除、修改等等操作行为;当监测到用户退出登录时,将上述记录的操作行为设置为用户本次登录数据库的历史轨迹。
进一步,为了统计预先设置的时间段内,上述历史轨迹中包含的有效操作轨迹,当上述用户登录数据库后,上述方法还包括:确定操作行为中对数据库中存储的数据进行操作的行为;将操作行为中对数据库中存储的数据进行操作的行为标记为有效操作轨迹。例如,如果接收到用户发送的用户行为操作请求,向用户返回允许操作的确认信息;以及,如果接收到用户发送的确认操作完成的信息,保存数据库的当前数据,并将用户本次登录数据库的历史轨迹标记为有效操作轨迹。通过接收用户行为操作请求,以及向用户返回允许操作的确认信息的方式能够有效确定出用户是否对数据库中存储的数据是否进行了操作,进而能够确定出历史轨迹中的有效操作轨迹。
例如,上述用户行为操作请求为用户对原始数据进行操作的请求,例如,用户需要删除某一存储区的文件,可以向服务器发送删除的请求,服务器接收到该删除的操作请求时,可以对该存储区的文件进行删除,并向用户返回已删除的操作,此时用户侧再继续查看该存储区时,就不会显示该删除的文件,即完成一次有效的操作过程,如果,用户继续对原始数据进行操作,则继续指向上述过程,如果用户推出操作,则可以向服务器发送确认操作完成的信息,此时,服务器可以保存当前数据,并将用户本次登录数据库的历史轨迹标记为有效操作轨迹。
通过上述在用户侧和服务器侧进行确认的方式,能够有效统计出预先设置的时间段内用户的有效操作轨迹,进而使数据一致性检测过程更加可靠。
实施例二:
在上述实施例的基础上,本发明实施例还提供了一种数据一致性检测装置,如图2所示的一种数据一致性检测装置的结构示意图,该装置包括:
获取模块20,用于获取用户访问数据库的历史轨迹;
统计模块22,用于统计预先设置的时间段内,历史轨迹中包含的有效操作轨迹;
计算模块24,用于获取数据库中预先存储的原始数据,根据原始数据和有效操作轨迹计算数据库当前数据的结果集合;其中,结果集合包括有效操作轨迹对原始数据作用下生成的多个数据包;
比对模块26,比对数据库当前数据与结果集合是否一致;
确定模块28,用于在比对模块的比对结果为是的情况下,确定数据库满足一致性要求。
具体实现时,上述获取模块用于:获取用户访问数据库中指定数据包的历史轨迹;其中,历史轨迹包括:一个用户对指定数据包进行访问的历史轨迹;多个用户分别访问不同指定数据包的历史轨迹;以及,多个用户同时访问相同指定数据包的历史轨迹。
上述计算模块用于:如果有效操作轨迹中包括多个有效操作的轨迹,对多个有效操作进行组合;
计算每个有效操作的组合对原始数据作用下得到的数据库当前数据的结果;
将计算的每个有效操作的组合对应的结果汇总,生成数据库当前数据的结果集合。
进一步,图3还示出了另一种数据一致性检测装置的结构示意图,除图2所示的结构外,上述装置还包括:
记录模块30,用于如果监测到用户登录数据库,记录用户的操作行为;
设置模块32,用于当监测到用户退出登录时,将记录的操作行为设置为用户本次登录数据库的历史轨迹。
进一步,上述装置还包括:
行为确定模块34,用于确定操作行为中对数据库中存储的数据进行操作的行为;
标记模块36,用于将操作行为中对数据库中存储的数据进行操作的行为标记为有效操作轨迹。
此外,上述比对模块还用于:判断数据库当前数据是否为结果集合中包括的多个数据包中的其中之一;如果是,确定数据库当前数据与结果集合一致。
本发明实施例提供的数据一致性检测装置,与上述实施例提供的数据一致性检测方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供了一种服务器,该服务器包括存储器以及处理器,所述存储器用于存储支持处理器执行上述实施例一所述方法的程序,上述处理器被配置为用于执行所述存储器中存储的程序。
进一步,本发明实施例还提供了一种计算机存储介质,用于存储计算机程序指令,当计算机执行所述计算机程序指令时,执行如上述实施例一所述的方法。
参见图4,本发明实施例还提供了一种服务器的结构示意图,包括:处理器400,存储器401,总线402和通信接口403,处理器400、通信接口403和存储器401通过总线402连接;处理器400用于执行存储器401中存储的可执行模块,例如计算机程序。其中,存储器401可能包含高速随机存取存储器(RAM,RandomAccess Memory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口403(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线402可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。其中,存储器401用于存储程序,处理器400在接收到执行指令后,执行程序,前述本发明实施例任一实施例揭示的数据一致性检测装置所执行的方法可以应用于处理器400中,或者由处理器400实现。处理器400可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器400中的硬件的集成逻辑电路或者软件形式的指令完成。
上述的处理器400可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器400读取存储器401中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的数据一致性检测方法、装置及服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种数据一致性检测方法,其特征在于,所述方法包括:
获取用户访问数据库的历史轨迹;
统计预先设置的时间段内,所述历史轨迹中包含的有效操作轨迹;
获取所述数据库中预先存储的原始数据,根据所述原始数据和所述有效操作轨迹计算所述数据库当前数据的结果集合;其中,所述数据库当前数据是基于所述有效操作轨迹进行校验和计算得到的,所述结果集合包括所述有效操作轨迹对所述原始数据作用下生成的多个数据包;
比对所述数据库当前数据与所述结果集合是否一致;
如果是,确定所述数据库满足一致性要求。
2.根据权利要求1所述的方法,其特征在于,所述获取用户访问数据库的历史轨迹的步骤包括:
获取用户访问所述数据库中指定数据包的历史轨迹;
其中,所述历史轨迹包括:
一个用户对所述指定数据包进行访问的历史轨迹;
多个用户分别访问不同所述指定数据包的历史轨迹;以及,
多个用户同时访问相同所述指定数据包的历史轨迹。
3.根据权利要求1所述的方法,其特征在于,所述根据所述原始数据和所述有效操作轨迹计算所述数据库当前数据的结果集合的步骤包括:
如果所述有效操作轨迹中包括多个有效操作的轨迹,对多个所述有效操作进行组合;
计算每个有效操作的组合对所述原始数据作用下得到的所述数据库当前数据的结果;
将计算的每个有效操作的组合对应的结果汇总,生成所述数据库当前数据的结果集合。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
如果监测到所述用户登录所述数据库,记录所述用户的操作行为;
当监测到所述用户退出登录时,将所述记录的操作行为设置为所述用户本次登录所述数据库的历史轨迹。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
确定所述操作行为中对所述数据库中存储的数据进行操作的行为;
将所述操作行为中对所述数据库中存储的数据进行操作的行为标记为有效操作轨迹。
6.根据权利要求1所述的方法,其特征在于,所述比对所述数据库当前数据与所述结果集合是否一致的步骤包括:
判断所述数据库当前数据是否为所述结果集合中包括的多个所述数据包中的其中之一;
如果是,确定所述数据库当前数据与所述结果集合一致。
7.一种数据一致性检测装置,其特征在于,所述装置包括:
获取模块,用于获取用户访问数据库的历史轨迹;
统计模块,用于统计预先设置的时间段内,所述历史轨迹中包含的有效操作轨迹;
计算模块,用于获取所述数据库中预先存储的原始数据,根据所述原始数据和所述有效操作轨迹计算所述数据库当前数据的结果集合;其中,所述数据库当前数据是基于所述有效操作轨迹进行校验和计算得到的,所述结果集合包括所述有效操作轨迹对所述原始数据作用下生成的多个数据包;
比对模块,用于比对所述数据库当前数据与所述结果集合是否一致;
确定模块,用于在所述比对模块的比对结果为是的情况下,确定所述数据库满足一致性要求。
8.根据权利要求7所述的装置,其特征在于,所述获取模块用于:
获取用户访问所述数据库中指定数据包的历史轨迹;
其中,所述历史轨迹包括:
一个用户对所述指定数据包进行访问的历史轨迹;
多个用户分别访问不同所述指定数据包的历史轨迹;以及,
多个用户同时访问相同所述指定数据包的历史轨迹。
9.根据权利要求7所述的装置,其特征在于,所述计算模块用于:
如果所述有效操作轨迹中包括多个有效操作的轨迹,对多个所述有效操作进行组合;
计算每个有效操作的组合对所述原始数据作用下得到的所述数据库当前数据的结果;
将计算的每个有效操作的组合对应的结果汇总,生成所述数据库当前数据的结果集合。
10.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
记录模块,用于如果监测到所述用户登录所述数据库,记录所述用户的操作行为;
设置模块,用于当监测到所述用户退出登录时,将所述记录的操作行为设置为所述用户本次登录所述数据库的历史轨迹。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
行为确定模块,用于确定所述操作行为中对所述数据库中存储的数据进行操作的行为;
标记模块,用于将所述操作行为中对所述数据库中存储的数据进行操作的行为标记为有效操作轨迹。
12.根据权利要求7所述的装置,其特征在于,所述比对模块用于:
判断所述数据库当前数据是否为所述结果集合中包括的多个所述数据包中的其中之一;
如果是,确定所述数据库当前数据与所述结果集合一致。
13.一种服务器,其特征在于,所述服务器包括存储器以及处理器,所述存储器用于存储支持处理器执行权利要求1至6任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
14.一种计算机存储介质,其特征在于,用于存储计算机程序指令,当计算机执行所述计算机程序指令时,执行如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811579862.9A CN111352992B (zh) | 2018-12-21 | 2018-12-21 | 数据一致性检测方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811579862.9A CN111352992B (zh) | 2018-12-21 | 2018-12-21 | 数据一致性检测方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352992A CN111352992A (zh) | 2020-06-30 |
CN111352992B true CN111352992B (zh) | 2023-09-29 |
Family
ID=71197899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811579862.9A Active CN111352992B (zh) | 2018-12-21 | 2018-12-21 | 数据一致性检测方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352992B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102202044A (zh) * | 2011-02-25 | 2011-09-28 | 北京兴宇中科科技开发股份有限公司 | 便携式云存储方法和设备 |
CN104468767A (zh) * | 2014-12-01 | 2015-03-25 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种云存储数据冲突检测方法及系统 |
US9390131B1 (en) * | 2012-02-05 | 2016-07-12 | Google Inc. | Executing queries subject to different consistency requirements |
US9401959B1 (en) * | 2015-12-18 | 2016-07-26 | Dropbox, Inc. | Network folder resynchronization |
CN105989025A (zh) * | 2015-01-30 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据的核查方法及装置 |
CN106407121A (zh) * | 2016-10-08 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种跨平台数据互通一致性测试方法及应用测试服务器 |
CN107562891A (zh) * | 2017-09-05 | 2018-01-09 | 荷花科技(北京)有限公司 | 数据库操作方法及装置 |
CN108763358A (zh) * | 2018-05-16 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 一种数据校验方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050203881A1 (en) * | 2004-03-09 | 2005-09-15 | Akio Sakamoto | Database user behavior monitor system and method |
US8126848B2 (en) * | 2006-12-07 | 2012-02-28 | Robert Edward Wagner | Automated method for identifying and repairing logical data discrepancies between database replicas in a database cluster |
GB2529246A (en) * | 2014-08-15 | 2016-02-17 | Ibm | Method for securing integrity and consistency of a cloud storage service with efficient client operations |
US9990372B2 (en) * | 2014-09-10 | 2018-06-05 | Panzura, Inc. | Managing the level of consistency for a file in a distributed filesystem |
US9613048B2 (en) * | 2014-09-10 | 2017-04-04 | Panzura, Inc. | Sending interim notifications to a client of a distributed filesystem |
-
2018
- 2018-12-21 CN CN201811579862.9A patent/CN111352992B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102202044A (zh) * | 2011-02-25 | 2011-09-28 | 北京兴宇中科科技开发股份有限公司 | 便携式云存储方法和设备 |
US9390131B1 (en) * | 2012-02-05 | 2016-07-12 | Google Inc. | Executing queries subject to different consistency requirements |
CN104468767A (zh) * | 2014-12-01 | 2015-03-25 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种云存储数据冲突检测方法及系统 |
CN105989025A (zh) * | 2015-01-30 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据的核查方法及装置 |
US9401959B1 (en) * | 2015-12-18 | 2016-07-26 | Dropbox, Inc. | Network folder resynchronization |
CN106407121A (zh) * | 2016-10-08 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种跨平台数据互通一致性测试方法及应用测试服务器 |
CN107562891A (zh) * | 2017-09-05 | 2018-01-09 | 荷花科技(北京)有限公司 | 数据库操作方法及装置 |
CN108763358A (zh) * | 2018-05-16 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 一种数据校验方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111352992A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10321342B2 (en) | Methods and systems for performance monitoring for mobile applications | |
CN107480015B (zh) | 负载测试方法、装置、系统、存储介质与压测服务器 | |
US9934138B1 (en) | Application testing on a blockchain | |
US20210006628A1 (en) | Managing operation of instances | |
US10095598B2 (en) | Transaction server performance monitoring using component performance data | |
TWI630553B (zh) | Application update prompt method and device | |
US9684534B2 (en) | Monitoring and modifying allocated computing resources | |
CN110807128B (zh) | 视频的预加载方法、装置、设备和存储介质 | |
CN109656574B (zh) | 交易时延度量方法、装置、计算机设备及存储介质 | |
CN108540533B (zh) | 一种应答请求的方法和装置 | |
CN109344066B (zh) | 一种浏览器页面的测试方法、系统及终端 | |
CN109669798B (zh) | 崩溃分析方法、装置、电子设备,及存储介质 | |
US9727394B2 (en) | Establishing causality order of computer trace records | |
US20160094392A1 (en) | Evaluating Configuration Changes Based on Aggregate Activity Level | |
CN113903389A (zh) | 一种慢盘检测方法、装置及计算机可读写存储介质 | |
CN110708212A (zh) | 分布式系统中调用链路的追踪方法及装置 | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
CN109246234B (zh) | 一种镜像文件下载方法、装置、电子设备及存储介质 | |
CN111352992B (zh) | 数据一致性检测方法、装置及服务器 | |
CN112671590B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN113014443A (zh) | 一种cdn资源是否命中缓存的测试方法及其系统 | |
CN111290897A (zh) | 异步存储测试方法、电子装置、计算机设备及存储介质 | |
CN114125054B (zh) | 一种内容审核系统、方法、装置、设备及介质 | |
CN115634448A (zh) | 一种帧率统计方法、装置及电子设备 | |
CN117851247A (zh) | 应用软件的稳定性测试方法、系统、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |