一种数据库及相应的方法与设备与流程

文档序号:11519836阅读:162来源:国知局
一种数据库及相应的方法与设备与流程
本申请涉及计算机
技术领域
,尤其涉及一种数据库技术。
背景技术
:现有的数据库中,一般会通过记录数据入库时间,用以记录数据存储至数据库中的时间,而在按时间对数据进行分析时,相应地,会根据数据入库时间来对数据进行分析,但是,由于数据库中通常会存在系统延迟,例如,交通部门的摄像头记录了一起交通事故的时间是十一点整,而假设这条记录传输到管理平台的数据库时为十一点半,也即数据入库时间为十一点半,由于现有的数据库系统仅有数据入库时间,这就导致当需要关注分析十一点时的交通事故时,无法实现数据的准确回放。又例如,在金融行业中,股票市场瞬息变化,某个巨大的价格波动发生在十点整,而由于数据库系统延迟,导致十点半才录入数据库,而由于交易员不能及时地意识到股票的价格波动,从而会带来交易损失,而后在进行分析时,由于现有的数据库系统仅有数据入库时间,也就无法准确回放股票实际的波动情况。因此,现有的数据库中,由于存在数据入库的时间延迟,会导致在数据回放时,与数据实际的状态不一致的情况。技术实现要素:本申请的目的是提供一种数据库及相应的方法与设备。根据本申请的一个方面,提供了一种数据库,其中,所述数据库包括:数据表,用于存储数据对象、所述数据对象的行标识和数据发生时间;全局表,用于存储所述数据对象的行标识、数据入库时间和所述数据对象所在的数据表的表标识。根据本申请的再一方面,还提供了一种在数据库中存储数据对象的方法,其中,所述方法包括:在向数据表中写入数据对象时,在所述数据表中生成所述数据对象对应的数据发生时间及行标识;将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。进一步地,其中,所述方法还包括:根据所述数据发生时间及所述数据入库时间分别建立索引,以用于查询与所述数据发生时间及所述数据入库时间对应的数据对象。根据本申请的再一方面,还提供了一种在数据库中查询数据对象的方法,其中,所述方法包括:获取指定数据发生时间以及指定数据入库时间;根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。进一步地,其中,所述根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象包括:根据所述指定数据发生时间以及基于数据发生时间创建的索引,在所述数据表中查询,确定与所述指定数据发生时间匹配的第一数据对象;以及根据所述数据表的表标识、所述指定数据入库时间以及基于数据入库时间创建的索引,在全局表中查询,确定与所述指定数据入库时间匹配的第二数据对象的行标识,并根据所述行标识在所述数据表中确定所述第二数据对象;当所述第一数据对象与所述第二数据对象不同,确定所述第一数据对象为所述目标数据对象。进一步地,其中,所述第一数据对象的数据发生时间不大于所述指定数据发生时间,所述第二数据对象的数据入库时间不大于所述指定数据入库时间,且所述数据发生时间及所述数据入库时间分别与所述指定数据发生时间以及所述指定数据入库时间最接近。根据本申请的又一方面,还提供了一种在数据库中修改数据对象的方法,其中,所述方法包括:在向数据表中写入修正数据对象时,在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识,其中,所述修正数据对象的数据发生时间与其对应的原始数据对象的数据发生时间相同;将所述修正数据对象所在的数据表的表标识及所述修正数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。根据本申请的又一方面,还提供了一种在数据库中删除数据对象的方法,其中,所述方法包括:在向数据表中写入对象删除标记时,在所述数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同;将所述对象删除标记所在的数据表的表标识及所述对象删除标记的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。根据本申请的再一方面,还提供了一种回放数据对象的方法,其中,所述方法包括:获取多个指定数据发生时间以及指定数据入库时间;根据所述多个指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述多个指定数据发生时间以及指定数据入库时间匹配的多个数据对象;呈现所述多个数据对象。根据本申请的另一个方面,提供了一种在数据库中存储数据对象的设备,其中,所述设备包括:第一装置,用于在向数据表中写入数据对象时,在所述数据表中生成所述数据对象对应的数据发生时间及行标识;第二装置,用于将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。进一步地,其中,所述设备还包括:第三装置,用于根据所述数据发生时间及所述数据入库时间分别建立索引,以用于查询与所述数据发生时间及所述数据入库时间对应的数据对象。根据本申请的再一个方面,提供了一种在数据库中查询数据对象的设备,其中,所述设备包括:第四装置,用于获取指定数据发生时间以及指定数据入库时间;第五装置,用于根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。进一步地,其中,所述第五装置包括:第一单元,用于根据所述指定数据发生时间以及基于数据发生时间创建的索引,在所述数据表中查询,确定与所述指定数据发生时间匹配的第一数据对象;以及根据所述数据表的表标识、所述指定数据入库时间以及基于数据入库时间创建的索引,在所述全局表中查询,确定与所述指定数据入库时间匹配的第二数据对象的行标识,并根据所述行标识在所述数据表中确定所述第二数据对象;第二单元,用于当所述第一数据对象与所述第二数据对象不同,确定所述第一数据对象为所述目标数据对象。进一步地,其中,所述第一数据对象的数据发生时间不大于所述指定数据发生时间,所述第二数据对象的数据入库时间不大于所述指定数据入库时间,且所述数据发生时间及所述数据入库时间分别与所述指定数据发生时间以及所述指定数据入库时间最接近。根据本申请的又一个方面,提供了一种在数据库中修改数据对象的设备,其中,所述设备包括:第六装置,用于在向数据表中写入修正数据对象时,在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识,其中,所述修正数据对象的数据发生时间与其对应的原始数据对象的数据发生时间相同;第七装置,用于将所述修正数据对象所在的数据表的表标识及所述修正数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。根据本申请的又一个方面,提供了一种在数据库中删除数据对象的设备,其中,所述设备包括:第八装置,用于在向数据表中写入对象删除标记时,在所述数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同;第九装置,用于将所述对象删除标记所在的数据表的表标识及所述对象删除标记的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。根据本申请的又一个方面,还提供了一种回放数据对象的设备,其中,所述设备包括:第十装置,用于获取多个指定数据发生时间以及指定数据入库时间;第十一装置,用于根据所述多个指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述多个指定数据发生时间以及指定数据入库时间匹配的多个数据对象;第十二装置,用于呈现所述多个数据对象。与现有技术相比,本申请通过在向数据表中写入数据对象时,在所述数据表中生成所述数据对象对应的数据发生时间及行标识,并将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间,进一步地,通过获取指定数据发生时间以及指定数据入库时间,并根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。这种方式,通过区分数据发生时间及数据入库时间,即使在数据库延迟较大的情况下,也能够实现对数据对象的准确回放。而且,本申请还可以在向数据表中写入修正数据对象时,在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识,其中,所述修正数据对象的数据发生时间与其对应的原始数据对象的数据发生时间相同,并将所述修正数据对象所在的数据表的表标识及所述修正数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。这种方式,在对原始数据对象进行修改时,并不会覆盖原始数据对象,这样在进行数据对象查询时,可以回退到原始数据对象状态,也可以查询对原始数据对象修改的修正数据对象。此外,本申请还可以在向数据表中写入对象删除标记时,在所述数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同,将所述对象删除标记所在的数据表的表标识及所述对象删除标记的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。这种方式,在对原始数据对象进行删除的时候,并不会直接删除原始数据对象,而是会通过增加对象删除标记来实现删除,例如,可以在指定的要删除的原始数据对象之后插入一条空数据,这样在查询时还能够查询到原始数据对象。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个方面的一种在数据库中存储数据对象的方法流程图;图2示出根据本申请一个方面的一种在数据库中查询数据对象的方法流程图;图3示出根据本申请一个方面的一种在数据库中存储数据对象的设备示意图;图4示出根据本申请另一个方面的一种在数据库中查询数据对象的设备示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本发明作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本申请的技术方案,进行清楚和完整的描述。根据本申请的一个方面提供了一种数据库,在此,所述数据库包括:数据表,用于存储数据对象、所述数据对象的行标识和数据发生时间;以及全局表,用于存储所述数据对象的行标识、数据入库时间和所述数据对象所在的数据表的表标识。在此,所述数据库包括至少能够实现存储功能的设备,该设备存储有数据表及全局表。在此,所述数据对象包括可以存储至数据库中的任意数据,所述行标识用于唯一地标识对应的数据对象,所述数据发生时间指所述数据对象实际发生的时间;所述数据入库时间是指所述数据对象存储至所述数据库的时间,所述表标识用于唯一地标识所述数据对象所在的数据表。下面以数据表1及全局表1为例,对数据表及全局表进行说明。数据表1行标识表标识数据入库时间11232017.01.0311:31:011301012017.01.0312:01:4321232017.01.0407:15:1831232017.01.0515:11:09全局表1如数据表1,示出了根据本申请一个方面的一种数据表存储结构示意图,在此实施例中,所述数据表1的表标识为123,所述数据表1通过行的形式存储数据对象,在所述数据表1中,每一行存储了一个数据对象的相关信息,每个数据对象对应一个行标识以及数据发生时间。如全局表1,示出了根据本申请一个方面的一种全局表存储结构示意图,在此,所述全局表1与数据表1所述数据表是关联的,用于存储所述数据对象的行标识、数据入库时间和所述数据对象所在的数据表的表标识。例如,在所述数据表1中,所述数据表1的表标识为123,则所述全局表1中会存储有表标识123,还会存储有唯一标识数据对象的行标识以及所述数据对象的数据入库时间。在全局表中会存储有多个数据表的信息,例如,在全局表1所示的实施例中存储了表标识为123和101的两个数据表的信息。在此,所述数据库中所述数据对象通过行的存储方式仅为举例,例如,所述数据对象还可以通过列的存储方式进行存储,在此不做任何限定。如图1,示出根据本申请的另一方面提供的一种在数据库中存储数据对象的方法,其中,所述方法包括:s1在向数据表中写入数据对象时,在所述数据表中生成所述数据对象对应的数据发生时间及行标识;s2将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。在所述步骤s1中,在向数据表中写入数据对象时,会生成所述数据对象对应的行标识,用于唯一地标识所述数据对象,在此,所述行标识可以用数字或其他可以唯一标识所述数据对象的信息表示,还会为所述数据对象生成数据发生时间,具体地,以数据表以行的形式存储所述数据对象为例,某些列中可能会保存有所述数据对象的相关时间信息,只需从这些列中提取时间信息,即可生成所述数据对象对应的数据发生时间。在此,所述数据表会对应唯一的表标识,用以标识所述数据表。在该实施例中,可以在一个数据对象写入时生成对应的数据发生时间,还可以在所述数据表中数据对象全部写入后统一生成。进一步地,在所述步骤s2中,会将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并生成所述行标识对应的数据入库时间,在此,所述全局表并不直接存储所述数据对象,而是存储所述数据对象对应的行标识及所在的数据表的表标识,当所述行标识被存储到所述全局表时,会生成对应的数据入库时间,即所述行标识被保存至所述数据库的时间。优选地,其中,所述方法还包括:s3根据所述数据发生时间及所述数据入库时间分别建立索引,以用于查询与所述数据发生时间及所述数据入库时间对应的数据对象。在该实施例中,通过根据所述数据发生时间及所述数据入库时间分别建立索引,以方便用户在后续查询与所述数据发生时间及所述数据入库时间对应的数据对象。如图2示出根据本申请一个方面的一种在数据库中查询数据对象的方法流程图,该方法包括:s4获取指定数据发生时间以及指定数据入库时间;s5根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。在该实施例中,在所述步骤s4中,所述指定数据发生时间以及指定数据入库时间是由用户来指定自己要关注的数据发生时间以及数据入库时间,或者若用户未指定,也可以默认为将当前时间同时作为指定数据发生时间以及指定数据入库时间,在此不做任何限定。继续在该实施例中,在所述步骤s5中,由于数据发生时间在数据表中生成,数据入库时间在全局表中生成,因此,可以根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,从而确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。在此,所述匹配是指按预定的规则与所述指定数据发生时间以及指定数据入库时间最接近。优选地,其中,所述步骤s5包括:s51(未示出)根据所述指定数据发生时间以及基于数据发生时间创建的索引,在所述数据表中查询,确定与所述指定数据发生时间匹配的第一数据对象;以及根据所述数据表的表标识、所述指定数据入库时间以及基于数据入库时间创建的索引,在全局表中查询,确定与所述指定数据入库时间匹配的第二数据对象的行标识,并根据所述行标识在所述数据表中确定所述第二数据对象。s52(未示出)当所述第一数据对象与所述第二数据对象不同,确定所述第一数据对象为所述目标数据对象。在此,还是以数据表1和全局表1所示的数据表和全局表为例进行说明。行标识数据对象数据发生时间1数据对象12017.01.0311:30:232数据对象22017.01.0407:10:093数据对象32017.01.0414:10:09………数据表1行标识表标识数据入库时间11232017.01.0311:31:011301012017.01.0312:01:4321232017.01.0407:15:1831232017.01.0515:11:09全局表1例如,若指定数据发生时间为2017.01.0311:30:00以及指定数据入库时间为2017.01.0311:40:00,则通过该指定数据发生时间并基于数据发生时间创建的索引在所述数据表1中查询,确定与所述指定数据发生时间匹配的第一数据对象为数据对象1,以及通过该指定数据入库时间并基于数据入库时间创建的索引在所述全局表1中查询,确定行标识为1对应的数据对象,继续通过所述行标识1及对应的表标识123,在数据表1中查询确定第二数据对象为数据对象1,则在该情况下,所述数据对象1为目标数据对象。又例如,若指定数据发生时间为2017.01.0414:30:00以及指定数据入库时间为2017.01.0414:30:00,则在所述数据表1中确定第一数据对象为数据对象3,在所述全局表1中确定行标识为2,进一步地,确定第二数据对象为数据对象2。在该情况下,所述数据对象2为目标数据对象。优选地,其中,所述第一数据对象的数据发生时间不大于所述指定数据发生时间,所述第二数据对象的数据入库时间不大于所述指定数据入库时间,且所述数据发生时间及所述数据入库时间分别与所述指定数据发生时间以及所述指定数据入库时间最接近。在实际的可回放场景中,用户通常期望查到一定精准时间点的数据对象,比如,用户想查9:00整对应的数据对象,然而9:00整可能并没有任何数据对象,因此,可以通过往前找到最接近的时间点的数据对象,例如,可以找到8:55对应的数据对象等。根据本申请的另一个方面还提供了一种在数据库中修改数据对象的方法,其中,所述方法包括:s6在向数据表中写入修正数据对象时,在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识,其中,所述修正数据对象的数据发生时间与其对应的原始数据对象的数据发生时间相同;s7将所述修正数据对象所在的数据表的表标识及所述修正数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。在实际场景中,可能会存在用户对数据对象输入错误的问题,现有的方法中通常直接对数据表中的数据进行修改,这样会覆盖掉原始的数据对象,不利于后续的准确回放。在该实施例中,在所述步骤s6中,当需要修改数据对象时,即在向数据表中写入修正数据对象时,在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识。下面以数据表2及全局表2为例对需要修改数据对象的情况进行说明。行标识姓名数据发生时间1yang2017.01.0311:30:232liu2017.01.0407:10:093wang2017.01.0311:30:23………数据表2行标识表标识数据入库时间11232017.01.0311:31:011301012017.01.0312:01:4321232017.01.0407:15:1831232017.01.0407:16:20全局表2在该实施例中,该数据表2的表标识为123,当行标识1对应的数据对象需要修改,例如“yang”本来应该是“wang”,这时会将修正数据对象“wang”写入所述数据表2,并生成所述修正数据对象对应的数据发生时间及行标识,在该实施例中,生成的行标识为3,所述“wang”的数据发生时间与原始数据对象“yang”的数据发生时间相同。进一步地,全局表2所示,会将“yang”对应的行标识3及所在的数据表的表标识存储至该全局表中,并在所述全局表中生成所述行标识对应的数据入库时间,即存储到该全局表中的时间。根据本申请的再一方面,还提供了一种在数据库中删除数据对象的方法,其中,所述方法包括:s8在向数据表中写入对象删除标记时,在所述数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同;s9将所述对象删除标记所在的数据表的表标识及所述对象删除标记的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。在实际场景中,可能会存在需要删除数据对象的情况,现有的删除方式通常是通过直接对原始数据对象进行删除,导致无法回放到原始数据对象。在本方案中,会通过向数据表中写入对象删除标记,来避免无法回放到原始数据对象的情况,在此,对象删除标记包括预设的符号或标记等,也可以直接通过写入空数据来表示。在写入所述删除数据对象时,会在数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同。根据本申请的又一方面,还提供了一种回放数据对象的方法,其中,所述方法包括:s10获取多个指定数据发生时间以及指定数据入库时间;s11根据所述多个指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述多个指定数据发生时间以及指定数据入库时间匹配的多个数据对象;s12呈现所述多个数据对象。在实际应用场景中,通常会需要对数据进行分析,例如,需要分析数据的波动趋势等等,特别在金融行业中,比如,股票的波动等等。在这种数据分析中,通常需要知道多个时间点的数据进行分析,因此,在步骤s10中,获取多个指定数据发生时间以及指定数据入库时间,进一步地,在所述步骤s11中确定多个数据对象,更进一步地,在所述步骤s12中,呈现所述多个数据对象,在此,可以通过图表或者数值的形式直接呈现给用户,例如,若所述数据对象为不同时间点的股价值,则可以在图表中呈现出该股价值随着时间的波动图像。与现有技术相比,本申请通过在向数据表中写入数据对象时,在所述数据表中生成所述数据对象对应的数据发生时间及行标识,并将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间,进一步地,通过获取指定数据发生时间以及指定数据入库时间,并根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。这种方式,通过区分数据发生时间及数据入库时间,即使在数据库延迟较大的情况下,也能够实现对数据对象的准确回放。而且,本申请还可以在向数据表中写入修正数据对象时,在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识,其中,所述修正数据对象的数据发生时间与其对应的原始数据对象的数据发生时间相同,并将所述修正数据对象所在的数据表的表标识及所述修正数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。这种方式,在对原始数据对象进行修改时,并不会覆盖原始数据对象,这样在进行数据对象查询时,可以回退到原始数据对象状态,也可以查询对原始数据对象修改的修正数据对象。此外,本申请还可以在向数据表中写入对象删除标记时,在所述数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同,将所述对象删除标记所在的数据表的表标识及所述对象删除标记的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。这种方式,在对原始数据对象进行删除的时候,并不会直接删除原始数据对象,而是会通过增加对象删除标记来实现删除,例如,可以在指定的要删除的原始数据对象之后插入一条空数据,这样在查询时还能够查询到原始数据对象。如图3所示,示出了根据本申请的另一个方面提供的一种在数据库中存储数据对象的设备1,其中,所述设备1包括:第一装置,用于在向数据表中写入数据对象时,在所述数据表中生成所述数据对象对应的数据发生时间及行标识;第二装置,用于将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。在此,所述设备1包括网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;其中,云由基于云计算(cloudcomputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。在此,所述数据库可以与所述设备1属于同一设备。在向数据表中写入数据对象时,所述第一装置会生成所述数据对象对应的行标识,用于唯一地标识所述数据对象,在此,所述行标识可以用数字或其他可以唯一标识所述数据对象的信息表示,还会为所述数据对象生成数据发生时间,具体地,以数据表以行的形式存储所述数据对象为例,某些列中可能会保存有所述数据对象的相关时间信息,只需从这些列中提取时间信息,即可生成所述数据对象对应的数据发生时间。在此,所述数据表会对应唯一的表标识,用以标识所述数据表。在该实施例中,可以在一个数据对象写入时生成对应的数据发生时间,还可以在所述数据表中数据对象全部写入后统一生成。进一步地,所述第二装置会将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并生成所述行标识对应的数据入库时间,在此,所述全局表并不直接存储所述数据对象,而是存储所述数据对象对应的行标识及所在的数据表的表标识,当所述行标识被存储到所述全局表时,会生成对应的数据入库时间,即所述行标识被保存至所述数据库的时间。优选地,其中,所述设备1还包括:第三装置,用于根据所述数据发生时间及所述数据入库时间分别建立索引,以用于查询与所述数据发生时间及所述数据入库时间对应的数据对象。在该实施例中,通过根据所述数据发生时间及所述数据入库时间分别建立索引,以方便用户在后续查询与所述数据发生时间及所述数据入库时间对应的数据对象。如图4示出根据本申请一个方面的一种在数据库中查询数据对象的设备示意图。该设备1包括:第四装置,用于获取指定数据发生时间以及指定数据入库时间;第五装置,用于根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。在该实施例中,所述指定数据发生时间以及指定数据入库时间是由用户来指定自己要关注的数据发生时间以及数据入库时间,或者若用户未指定,也可以默认为将当前时间同时作为指定数据发生时间以及指定数据入库时间,在此不做任何限定。在此,所述第四装置获取所述指定数据发生时间以及指定数据入库时间。继续在该实施例中,由于数据发生时间在数据表中生成,数据入库时间在全局表中生成,因此,所述第五装置可以根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,从而确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。在此,所述匹配是指按预定的规则与所述指定数据发生时间以及指定数据入库时间最接近。优选地,其中,所述第五装置包括:第一单元(未示出),用于根据所述指定数据发生时间以及基于数据发生时间创建的索引,在所述数据表中查询,确定与所述指定数据发生时间匹配的第一数据对象;以及根据所述数据表的表标识、所述指定数据入库时间以及基于数据入库时间创建的索引,在全局表中查询,确定与所述指定数据入库时间匹配的第二数据对象的行标识,并根据所述行标识在所述数据表中确定所述第二数据对象。第二单元(未示出),用于当所述第一数据对象与所述第二数据对象不同,确定所述第一数据对象为所述目标数据对象。在此,还是以数据表1和全局表1所示的数据表和全局表为例进行说明。行标识数据对象数据发生时间1数据对象12017.01.0311:30:232数据对象22017.01.0407:10:093数据对象32017.01.0414:10:09………数据表1行标识表标识数据入库时间11232017.01.0311:31:011301012017.01.0312:01:4321232017.01.0407:15:1831232017.01.0515:11:09全局表1例如,若指定数据发生时间为2017.01.0311:30:00以及指定数据入库时间为2017.01.0311:40:00,则所述第一单元通过该指定数据发生时间并基于数据发生时间创建的索引在所述数据表1中查询,确定与所述指定数据发生时间匹配的第一数据对象为数据对象1,以及通过该指定数据入库时间并基于数据入库时间创建的索引在所述全局表1中查询,确定行标识为1对应的数据对象,继续通过所述行标识1及对应的表标识123,在数据表1对应的数据表中查询确定第二数据对象为数据对象1,则在该情况下,所述第二单元确定所述数据对象1为目标数据对象。又例如,若指定数据发生时间为2017.01.0414:30:00以及指定数据入库时间为2017.01.0414:30:00,则所述第一单元在所述数据表1中确定第一数据对象为数据对象3,在所述全局表1中确定行标识为2,进一步地,所述第一单元确定第二数据对象为数据对象2。在该情况下,所述第二单元确定所述数据对象2为目标数据对象。优选地,其中,所述第一数据对象的数据发生时间不大于所述指定数据发生时间,所述第二数据对象的数据入库时间不大于所述指定数据入库时间,且所述数据发生时间及所述数据入库时间分别与所述指定数据发生时间以及所述指定数据入库时间最接近。在实际的可回放场景中,用户通常期望查到一定精准时间点的数据对象,比如,用户想查9:00整对应的数据对象,然而9:00整可能并没有任何数据对象,因此,可以通过往前找到最接近的时间点的数据对象,例如,可以找到8:55对应的数据对象等。根据本申请的另一个方面还提供了一种在数据库中修改数据对象的设备1,其中,所述设备1包括:第六装置,用于在向数据表中写入修正数据对象时,在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识,其中,所述修正数据对象的数据发生时间与其对应的原始数据对象的数据发生时间相同;第七装置,用于将所述修正数据对象所在的数据表的表标识及所述修正数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。在实际场景中,可能会存在用户对数据对象输入错误的问题,现有的方法中通常直接对数据表中的数据进行修改,这样会覆盖掉原始的数据对象,不利于后续的准确回放。在该实施例中,当需要修改数据对象时,即在向数据表中写入修正数据对象时,所述第六装置在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识。下面以数据表2及全局表2为例对需要修改数据对象的情况进行说明。行标识姓名数据发生时间1yang2017.01.0311:30:232liu2017.01.0407:10:093wang2017.01.0311:30:23………数据表2行标识表标识数据入库时间11232017.01.0311:31:011301012017.01.0312:01:4321232017.01.0407:15:1831232017.01.0407:16:20全局表2在该实施例中,该数据表2的表标识为123,当行标识1对应的数据对象需要修改,例如“yang”本来应该是“wang”,这时会将修正数据对象“wang”写入所述数据表2,所述第六装置生成所述修正数据对象对应的数据发生时间及行标识,在该实施例中,生成的行标识为3,所述“wang”的数据发生时间与原始数据对象“yang”的数据发生时间相同。进一步地,如全局表2所示,所述第七装置会将“yang”对应的行标识3及所在的数据表的表标识存储至该全局表中,并在所述全局表中生成所述行标识对应的数据入库时间,即存储到该全局表中的时间。根据本申请的再一方面,还提供了一种在数据库中删除数据对象的设备1,其中,所述设备1包括:第八装置,用于在向数据表中写入对象删除标记时,在所述数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同;第九装置,用于将所述对象删除标记所在的数据表的表标识及所述对象删除标记的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。在实际场景中,可能会存在需要删除数据对象的情况,现有的删除方式通常是通过直接对原始数据对象进行删除,导致无法回放到原始数据对象。在本方案中,会通过向数据表中写入对象删除标记,来避免无法回放到原始数据对象的情况,在此,对象删除标记包括预设的符号或标记等,也可以直接通过写入空数据来表示。在写入所述删除数据对象时,所述第八装置会在数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同。根据本申请的又一方面,还提供了一种回放数据对象的设备1,其中,所述设备1包括:第十装置,用于获取多个指定数据发生时间以及指定数据入库时间;第十一装置,用于根据所述多个指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述多个指定数据发生时间以及指定数据入库时间匹配的多个数据对象;第十二装置,用于呈现所述多个数据对象。在实际应用场景中,通常会需要对数据进行分析,例如,需要分析数据的波动趋势等等,特别在金融行业中,比如,股票的波动等等。在这种数据分析中,通常需要知道多个时间点的数据进行分析,因此,所述第十装置获取多个指定数据发生时间以及指定数据入库时间,进一步地,所述第十一装置确定多个数据对象,更进一步地,所述第十二装置呈现所述多个数据对象,在此,可以通过图表或者数值的形式直接呈现给用户,例如,若所述数据对象为不同时间点的股价值,则可以在图表中呈现出该股价值随着时间的波动图像。与现有技术相比,本申请通过在向数据表中写入数据对象时,在所述数据表中生成所述数据对象对应的数据发生时间及行标识,并将所述数据对象所在的数据表的表标识及所述数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间,进一步地,通过获取指定数据发生时间以及指定数据入库时间,并根据所述指定数据发生时间以及指定数据入库时间,分别在数据表及全局表中查询,确定与所述指定数据发生时间以及指定数据入库时间匹配的目标数据对象。这种方式,通过区分数据发生时间及数据入库时间,即使在数据库延迟较大的情况下,也能够实现对数据对象的准确回放。而且,本申请还可以在向数据表中写入修正数据对象时,在所述数据表中生成所述修正数据对象对应的数据发生时间及行标识,其中,所述修正数据对象的数据发生时间与其对应的原始数据对象的数据发生时间相同,并将所述修正数据对象所在的数据表的表标识及所述修正数据对象的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。这种方式,在对原始数据对象进行修改时,并不会覆盖原始数据对象,这样在进行数据对象查询时,可以回退到原始数据对象状态,也可以查询对原始数据对象修改的修正数据对象。此外,本申请还可以在向数据表中写入对象删除标记时,在所述数据表中生成所述对象删除标记对应的数据发生时间及行标识,其中,所述对象删除标记的数据发生时间与其对应的原始数据对象的数据发生时间相同,将所述对象删除标记所在的数据表的表标识及所述对象删除标记的行标识存储到全局表中,并在所述全局表中生成所述行标识对应的数据入库时间。这种方式,在对原始数据对象进行删除的时候,并不会直接删除原始数据对象,而是会通过增加对象删除标记来实现删除,例如,可以在指定的要删除的原始数据对象之后插入一条空数据,这样在查询时还能够查询到原始数据对象。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1