本发明属于互联网技术领域,尤其涉及一种基于分组的数据库处理方法、装置、计算机装置及计算机可读存储介质。
背景技术:
数据库能够存储各种数据,用户可以对数据进行新增、查询、更新、删除等操作。现有技术一般将数据库进行分库,不同的用户采用单独的数据库存放数据,各自操作不会互相干扰。但是一些实际应用场景下,若多个组的用户之间有相同的数据来源,而且数据量巨大,不适合多份存储或者重复计算,存在无法实现多个用户对数据操作互不影响、互不干扰的功能。
技术实现要素:
本发明实施例提供一种基于分组的数据库处理方法,旨在解决在多个组的用户之间有相同的数据来源,而且数据量巨大,不适合多份存储或者重复计算,存在的无法实现多个用户对数据操作互不影响、互不干扰的功能。
本发明是这样实现的,一种基于分组的数据库处理方法,包括:
建立全局数据库,将全局数据导入所述全局数据库;
建立组数据库,并建立与所述组数据库对应的删除记录表
在接收到删除操作或修改操作的情况下,根据所述删除操作或修改操作将操作结果存入所述组数据库中,将所述删除操作或修改操作在全局数据库中的数据id记录到所述删除记录表;
在接收到查询操作的情况下,向所述全局数据库和所述组数据库发送查询请求;判断所述全局数据库返回的全局库查询结果中的数据id是否存在与所述删除记录表中的数据id相同的目标数据id,在所述全局库查询结果中的数据id存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的全局数据查询结果;将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果。
可选的,所述将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果,包括以下过程:
对所述过滤后的全局数据查询结果与所述组库查询结果中具有相同数据id的数据进行合并操作,生成合并数据作为所述查询请求的查询结果。
可选的,所述基于分组的数据库处理方法还包括以下过程:
在对所述组数据库的数据进行操作时,将处于操作过程的数据设置为锁定状态,禁止对处于锁定状态的数据再次进行操作,其中,所述操作包括增加、修改、删除中任意一种操作。
可选的,所述根据所述删除操作或修改操作将操作结果存入所述组数据库中,包括以下过程:
根据所述删除操作删除所述组数据库中的待删除数据;或
将所述修改操作分解为删除操作及增加操作,根据所述分解得到的删除操作删除所述组数据库中的待删除数据,根据所述分解得到的增加操作在所述组数据库中写入待增加数据。
本发明还提供一种基于分组的数据库处理装置,包括:
导入模块,用于建立全局数据库,将全局数据导入所述全局数据库;
建立模块,用于建立组数据库,并建立与所述组数据库对应的删除记录表
数据操作模块,用于在接收到删除操作或修改操作的情况下,根据所述删除操作或修改操作将操作结果存入所述组数据库中,将所述删除操作或修改操作在全局数据库中的数据id记录到所述删除记录表;
处理模块,用于在接收到查询操作的情况下,向所述全局数据库和所述组数据库发送查询请求;判断所述全局数据库返回的全局库查询结果中的数据id是否存在与所述删除记录表中的数据id相同的目标数据id,在所述全局库查询结果中的数据id存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的全局数据查询结果;将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果。
可选的,所述处理模块,还用于对所述过滤后的全局数据查询结果与所述组库查询结果中具有相同数据id的数据进行合并操作,生成合并数据作为所述查询请求的查询结果。
可选的,所述基于分组的数据库处理装置还包括:
锁定模块,用于在对所述组数据库的数据进行操作时,将处于操作过程的数据设置为锁定状态,禁止对处于锁定状态的数据再次进行操作,其中,所述操作包括增加、修改、删除中任意一种操作。
可选的,所述数据操作模块,还用于根据所述删除操作删除所述组数据库中的待删除数据;或
将所述修改操作分解为删除操作及增加操作,根据所述分解得到的删除操作删除所述组数据库中的待删除数据,根据所述分解得到的增加操作在所述组数据库中写入待增加数据。
本发明还提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中计算机程序时实现如上述所述基于分组的数据库处理方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述基于分组的数据库处理方法的步骤。
本发明提供的基于分组的数据库处理方法,通过将全局数据库与组数据库分开储存,组数据库的用户可以直接对组数据库中的数据进行删除、增加、修改及查询操作,对全局数据库可以进行查询操作,将所述删除操作或修改操作在全局数据库中的数据id记录到所述删除记录表,实际上全局数据库中的数据并未进行删除,将所述全局数据库返回的全局库查询结果与所述删除记录表进行匹配,在所述全局库查询结果中的数据id中存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的全局数据查询结果,将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果。这样,在确保全局数据库的数据完整性的同时,用户可以对组数据库的数据进行操作,在查询操作中,可以根据删除记录表过滤用户已删除的全局数据库中的数据,准确地获取用户需要查询的数据,使得用户感受不到组数据库和全局数据库的存在,可实现全局数据公有的同时不同组用户的操作隔离,实现多个用户对数据操作互不影响、互不干扰的功能。
附图说明
图1是本发明实施例提供的基于分组的数据库处理方法的实现流程图;
图2是本发明实施例提供的应用环境示意图;
图3是本发明实施例提供的基于分组的数据库处理装置的结构示意图;
图4是本发明实施例提供的基于分组的数据库处理装置的另一结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1所示为本发明实施例提供的基于分组的数据库处理方法的实现流程图。该基于分组的数据库处理方法可以应用于本发明实施例提供的基于分组的数据库处理装置,该基于分组的数据库处理方法包括以下过程:
步骤s101,建立全局数据库,将全局数据导入所述全局数据库。
在本实施例中,所述全局数据是公共的数据,可以由其他数据库进行访问。但是,其他数据库不能直接对全局数据库中的全局数据进行增加、删除、修改等操作。
步骤s102,建立组数据库,并建立与所述组数据库对应的删除记录表;其中,所述所述组数据库可读取所述全局数据库的所有数据。
在本实施例中,所述组数据库的表结构与所述全局数据库的表结构是相同的。这样,可以便于组数据库访问全局库中的数据,在读取全局数据库的的数据后,可以便捷地对读取到的数据进行相关操作。
需要说明的是,建立的组数据库的数量不做限制,可以根据建立1个组数据库、2个组数据库、多个组数据库,每个组数据可以读取全局数据库的公用数据。请参阅图2,在图2所示的应用环境示意图中,包括全局数据201、全局数据库202、第一组数据库203、第二组数据库204,将全局数据201导入全局数据库202中,第一组数据库203及第二组数据204可以访问全局数据库中的全局数据。第一用户207可以对第一组数据库203进行用户操作,对第一组数据库203中的数据进行增加、修改、删除、查询等操作。第二用户208可以对第二组数据库204进行用户操作,对第二组数据库204中的数据进行增加、修改、删除、查询等操作。
步骤s103,在接收到删除操作或修改操作的情况下,根据所述删除操作或修改操作将操作结果存入所述组数据库中,将所述删除操作或修改操作在全局数据库中的数据id记录到所述删除记录表。
在本实施例中,所述数据id能唯一地标识数据表中的某一条记录。
请再次参阅图2,在第一用户207进行删除操作或修改操作的情况下,根据所述删除操作或修改操作将操作结果存入第一组数据库203中,将所述删除操作或修改操作在全局数据库202中的数据id记录到第一删除记录205。在本实施方式中,并不会删除全局数据库202中的数据,只是记录第一用户207需要删除的全局数据的数据id。第一删除记录表205可以存储在第一组数据库203中。
在第二用户208进行删除操作或修改操作的情况下,根据所述删除操作或修改操作将操作结果存入第二组数据库204中,将所述删除操作或修改操作在第二组数据库204中删除的全局数据的数据id记录到第二删除记录206。同样的,在本实施方式中,并不会删除全局数据库202中的数据,只是记录第二用户208需要删除的全局数据的数据id。第二删除记录表206可以存储在第二组数据库204中。
可选的,该步骤s103的所述根据所述删除操作或修改操作将操作结果存入所述组数据库中,包括以下过程:
根据所述删除操作删除所述组数据库中的待删除数据;或
将所述修改操作分解为删除操作及增加操作,根据所述分解得到的删除操作删除所述组数据库中的待删除数据,根据所述分解得到的增加操作在所述组数据库中写入待增加数据。
请再次参阅图2,在第一用户207输入第一删除操作的情况下,根据所述第一删除操作删除第一组数据库203中的待删除数据。在第一用户207输入修改操作的情况下,将所述修改操作分解为第二删除操作及第一增加操作,根据所述第二删除操作删除第一组数据库203的待删除数据,根据所述第一增加操作在第一组数据库203中写入待增加数据。
在第二用户208输入第三删除操作的情况下,根据所述第三删除操作删除第二组数据库204中的待删除数据。在第二用户208输入修改操作的情况下,将所述修改操作分解为第四删除操作及第二增加操作,根据所述第四删除操作删除第二组数据库204的待删除数据,根据所述第二增加操作在第二组数据库204中写入待增加数据。
这样,单独的组数据库可以根据用户输入的删除操作或修改操作对自身存储的数据进行删除操作及修改操作,满足组数据库个性化管理需求,提高组数据库的灵活性。
补充说明的是,在接收到增加操作的情况下,根据所述增加操作在所述组数据中写入待增加数据。
请再次参阅图2,在第一用户207输入第三增加操作的情况下,根据所述第三增加操作在第一组数据库203中写入待增加数据。在第二用户208输入第四增加操作的情况下,根据所述第四增加操作在第二组数据库204中写入待增加数据。
这样,单独的组数据库可以根据用户输入的删除操作或修改操作对自身存储的数据进行增加操作,满足组数据库个性化管理需求,提高组数据库的灵活性。
步骤s104,在接收到查询操作的情况下,向所述全局数据库和所述组数据库发送查询请求;判断所述全局数据库返回的全局库查询结果中的数据id是否存在与所述删除记录表中的数据id相同的目标数据id,在所述全局库查询结果中的数据id存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的全局数据查询结果;将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果。
请再次参阅图2,在第一用户207输入查询操作的情况下,向全局数据库202和第一组数据库203发送查询请求,将所述全局数据库202返回的第一全局库查询结果与第一删除记录表205进行匹配,在第一全局库查询结果中的数据id中存在与第一删除记录表205中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的第一全局数据查询结果,将所述过滤后的第一全局数据查询结果和第一组数据库203返回的组库查询结果作为所述查询请求的查询结果。
在第二用户208输入查询操作的情况下,向全局数据库202和第二组数据库204发送查询请求,将所述全局数据库202返回的第二全局库查询结果与第二删除记录表206进行匹配,在第二全局库查询结果中的数据id中存在与第二删除记录表206中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的第二全局数据查询结果,将所述过滤后的第二全局数据查询结果和第二组数据库204返回的组库查询结果作为所述查询请求的查询结果。
可选的,请参阅图3,所述步骤s104中所述将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果,包括以下过程:
步骤s1041,对所述过滤后的全局数据查询结果与所述组库查询结果中具有相同数据id的数据进行合并操作,生成合并数据作为所述查询请求的查询结果。
请再次参阅图2,第一用户207输入查询操作,接收查询操作,根据查询操作向全局数据库202和第一组数据库203发送查询请求,将所述全局数据库202返回的第一全局库查询结果与第一删除记录表205进行匹配,在第一全局库查询结果中的数据id中存在与第一删除记录表205中的数据id相同的目标数据id的情况下,从第一全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的第一全局数据查询结果,对所述过滤后的第一全局数据查询结果与第一组数据库203返回的第一组库查询结果中具有相同数据id的数据进行合并操作,生成第一合并数据,存储所述第一合并数据,将第一合并数据、所述过滤后的第一全局数据查询结果中未进行合并操作的数据、第一组库查询结果中未进行合并操作的数据作为所述查询请求的查询结果。
第二用户208输入查询操作,接收查询操作,根据查询操作向全局数据库202和第二组数据库204发送查询请求,将所述全局数据库202返回的第二全局库查询结果与第二删除记录表206进行匹配,在第二全局库查询结果中的数据id中存在与第二删除记录表206中的数据id相同的目标数据id的情况下,从第二全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的第二全局数据查询结果,对所述过滤后的第二全局数据查询结果与第二组数据库204返回的第二组库查询结果中具有相同数据id的数据进行合并操作,生成第二合并数据,存储所述第二合并数据,将第二合并数据、所述过滤后的第二全局数据查询结果中未进行合并操作的数据、第二组库查询结果中未进行合并操作的数据作为所述查询请求的查询结果。
这样,可以将全局数据库返回的查询结果和组数据库中的查询结果中具有相同数据id的数据进行合并,便于数据高效存储及管理。
可选的,所述基于分组的数据库处理方法还包括以下过程:
在对所述组数据库的数据进行操作时,将处于操作过程的数据设置为锁定状态,禁止对处于锁定状态的数据再次进行操作,其中,所述操作包括增加、修改、删除中任意一种操作。
在本实施例中,为了防止同时对一条记录进行增加操作、修改操作、删除操作,需要对处于增加操作、修改操作或者删除操作的数据进行锁定,通过将数据设置为处于锁定状态,避免多个用户同时对同一个数据进行操作。比如两个用户同时看到一条数据记录,一个用户对该记录执行删除操作,另一个用户对这条数据执行修改操作,如果没有将数据设置在锁定状态确保只有一个用户的操作可以成功,那么最终产生的结果可能显示两个用户的操作都成功了,但是这条数据是被修改了或者被删除了,只有一个用户得到了正确的结果。通过对处于增加操作、修改操作或删除操作过程的数据数据设置为锁定状态,禁止对处于锁定状态的数据再次进行数据操作,从而可以防止产生错误数据,确保数据的正确率。
本发明提供的基于分组的数据库处理方法,通过将全局数据库与组数据库分开储存,组数据库的用户可以直接对组数据库中的数据进行删除、增加、修改及查询操作,对全局数据库可以进行查询操作,将所述删除操作或修改操作在全局数据库中的数据id记录到所述删除记录表,实际上全局数据库中的数据并未进行删除,将所述全局数据库返回的全局库查询结果与所述删除记录表进行匹配,在所述全局库查询结果中的数据id中存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的全局数据查询结果,将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果。这样,在确保全局数据库的数据完整性的同时,用户可以对组数据库的数据进行操作,在查询操作中,可以根据删除记录表过滤用户已删除的全局数据库中的数据,准确地获取用户需要查询的数据,使得用户感受不到组数据库和全局数据库的存在,可实现全局数据公有的同时不同组用户的操作隔离,实现多个用户对数据操作互不影响、互不干扰的功能。
图4示出了本发明实施例提供的一种基于分组的数据库处理装置400的结构示意图,为了便于说明,仅示出了于本发明实施相关的部分。该基于分组的数据库处理装置400,包括:
导入模块401,用于建立全局数据库,将全局数据导入所述全局数据库。
在本实施例中,所述全局数据是公共的数据,可以由其他数据库进行访问。但是,其他数据库不能直接对全局数据库中的全局数据进行增加、删除、修改等操作。
建立模块402,用于建立组数据库,并建立与所述组数据库对应的删除记录表;其中,所述所述组数据库可读取所述全局数据库的所有数据。
在本实施例中,所述组数据库的表结构与所述全局数据库的表结构是相同的。这样,可以便于组数据库访问全局库中的数据,在读取全局数据库的的数据后,可以便捷地对读取到的数据进行相关操作。
需要说明的是,建立的组数据库的数量不做限制,可以根据建立1个组数据库、2个组数据库、多个组数据库,每个组数据可以读取全局数据库的公用数据。请参阅图2,在图2所示的应用环境示意图中,包括全局数据201、全局数据库202、第一组数据库203、第二组数据库204,将全局数据201导入全局数据库202中,第一组数据库203及第二组数据204可以访问全局数据库中的全局数据。第一用户207可以对第一组数据库203进行用户操作,对第一组数据库203中的数据进行增加、修改、删除、查询等操作。第二用户208可以对第二组数据库204进行用户操作,对第二组数据库204中的数据进行增加、修改、删除、查询等操作。
全局数据操作模块403,用于在接收到删除操作或修改操作的情况下,根据所述删除操作或修改操作将操作结果存入所述组数据库中,将所述删除操作或修改操作在全局数据库中的数据id记录到所述删除记录表。
请再次参阅图2,在第一用户207进行删除操作或修改操作的情况下,根据所述删除操作或修改操作将操作结果存入第一组数据库203中,将所述删除操作或修改操作在第一组数据库203中删除的全局数据的数据id记录到第一删除记录205。在本实施方式中,并不会删除全局数据库202中的数据,只是记录第一用户207需要删除的全局数据的数据id。第一删除记录表205可以存储在第一组数据库203中。
在第二用户208进行删除操作或修改操作的情况下,根据所述删除操作或修改操作将操作结果存入第二组数据库204中,将所述删除操作或修改操作在第二组数据库204中删除的全局数据的数据id记录到第二删除记录206。同样的,在本实施方式中,并不会删除全局数据库202中的数据,只是记录第二用户208需要删除的全局数据的数据id。第二删除记录表206可以存储在第二组数据库204中。
可选的,所述全局数据操作模块403,还用于根据所述删除操作删除所述组数据库中的待删除数据;或
将所述修改操作分解为删除操作及增加操作,根据所述分解得到的删除操作删除所述组数据库中的待删除数据,根据所述分解得到的增加操作在所述组数据库中写入待增加数据。
请再次参阅图2,在第一用户207输入第一删除操作的情况下,根据所述第一删除操作删除第一组数据库203中的待删除数据。在第一用户207输入修改操作的情况下,将所述修改操作分解为第二删除操作及第一增加操作,根据所述第二删除操作删除第一组数据库203的待删除数据,根据所述第一增加操作在第一组数据库203中写入待增加数据。
在第二用户208输入第三删除操作的情况下,根据所述第三删除操作删除第二组数据库204中的待删除数据。在第二用户208输入修改操作的情况下,将所述修改操作分解为第四删除操作及第二增加操作,根据所述第四删除操作删除第二组数据库204的待删除数据,根据所述第二增加操作在第二组数据库204中写入待增加数据。
这样,单独的组数据库可以根据用户输入的删除操作或修改操作对自身存储的数据进行删除操作及修改操作,满足组数据库个性化管理需求,提高组数据库的灵活性。
补充说明的是,在接收到增加操作的情况下,根据所述增加操作在所述组数据中写入待增加数据。
请再次参阅图2,在第一用户207输入第三增加操作的情况下,根据所述第三增加操作在第一组数据库203中写入待增加数据。在第二用户208输入第四增加操作的情况下,根据所述第四增加操作在第二组数据库204中写入待增加数据。
这样,单独的组数据库可以根据用户输入的删除操作或修改操作对自身存储的数据进行增加操作,满足组数据库个性化管理需求,提高组数据库的灵活性。
处理模块404,用于在接收到查询操作的情况下,向所述全局数据库和所述组数据库发送查询请求;判断所述全局数据库返回的全局库查询结果中的数据id是否存在与所述删除记录表中的数据id相同的目标数据id,在所述全局库查询结果中的数据id存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的全局数据查询结果;将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果。
请再次参阅图2,在第一用户207输入查询操作的情况下,向全局数据库202和第一组数据库203发送查询请求,将所述全局数据库202返回的第一全局库查询结果与第一删除记录表205进行匹配,在所述全局库查询结果中的数据id中存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的第一全局数据查询结果,将所述过滤后的第一全局数据查询结果和第一组数据库203返回的组库查询结果作为所述查询请求的查询结果。
在第二用户208输入查询操作的情况下,向全局数据库202和第二组数据库204发送查询请求,将所述全局数据库202返回的第二全局库查询结果与第二删除记录表206进行匹配,在所述全局库查询结果中的数据id中存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的第二全局数据查询结果,将所述过滤后的第二全局数据查询结果和第二组数据库204返回的组库查询结果作为所述查询请求的查询结果。
可选的,所述处理模块404,还用于对所述过滤后的全局数据查询结果与所述组库查询结果中具有相同数据id的数据进行合并操作,生成合并数据作为所述查询请求的查询结果。
请再次参阅图2,第一用户207输入查询操作,接收查询操作,根据查询操作向全局数据库202和第一组数据库203发送查询请求,将所述全局数据库202返回的第一全局库查询结果与第一删除记录表205进行匹配,在所述全局库查询结果中的数据id中存在与所述删除记录表中的数据id相同的目标数据id的情况下,从第一全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的第一全局数据查询结果,对所述过滤后的第一全局数据查询结果与第一组数据库203返回的第一组库查询结果中具有相同数据id的数据进行合并操作,生成第一合并数据,存储所述第一合并数据,将第一合并数据、所述过滤后的第一全局数据查询结果中未进行合并操作的数据、第一组库查询结果中未进行合并操作的数据作为所述查询请求的查询结果。
第二用户208输入查询操作,接收查询操作,根据查询操作向全局数据库202和第二组数据库204发送查询请求,将所述全局数据库202返回的第二全局库查询结果与第二删除记录表206进行匹配,在所述全局库查询结果中的数据id中存在与所述删除记录表中的数据id相同的目标数据id的情况下,从第二全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的第二全局数据查询结果,对所述过滤后的第二全局数据查询结果与第二组数据库204返回的第二组库查询结果中具有相同数据id的数据进行合并操作,生成第二合并数据,存储所述第二合并数据,将第二合并数据、所述过滤后的第二全局数据查询结果中未进行合并操作的数据、第二组库查询结果中未进行合并操作的数据作为所述查询请求的查询结果。
这样,可以将全局数据库返回的查询结果和组数据库中的查询结果中具有相同数据id的数据进行合并,便于数据高效存储及管理。
可选的,请参阅图4,所述基于分组的数据库处理装置400还包括:
锁定模块405,用于在对所述组数据库的数据进行操作时,将处于操作过程的数据设置为锁定状态,禁止对处于锁定状态的数据再次进行操作,其中,所述操作包括增加、修改、删除中任意一种操作。
在本实施例中,为了防止同时对一条记录进行增加操作、修改操作、删除操作,需要对处于增加操作、修改操作或者删除操作的数据进行锁定,通过将数据设置为处于锁定状态,避免多个用户同时对同一个数据进行操作。比如两个用户同时看到一条数据记录,一个用户对该记录执行删除操作,另一个用户对这条数据执行修改操作,如果没有将数据设置在锁定状态确保只有一个用户的操作可以成功,那么最终产生的结果可能显示两个用户的操作都成功了,但是这条数据是被修改了或者被删除了,只有一个用户得到了正确的结果。通过对处于增加操作、修改操作或删除操作过程的数据数据设置为锁定状态,禁止对处于锁定状态的数据再次进行数据操作,从而可以防止产生错误数据,确保数据的正确率。
本发明提供的基于分组的数据库处理装置,通过将全局数据库与组数据库分开储存,组数据库的用户可以直接对组数据库中的数据进行删除、增加、修改及查询操作,对全局数据库可以进行查询操作,将所述删除操作或修改操作在全局数据库中的数据id记录到所述删除记录表,实际上全局数据库中的数据并未进行删除,将所述全局数据库返回的全局库查询结果与所述删除记录表进行匹配,在所述全局库查询结果中的数据id中存在与所述删除记录表中的数据id相同的目标数据id的情况下,从所述全局库查询结果中过滤所述目标数据id对应的数据条目,得到过滤后的全局数据查询结果,将所述过滤后的全局数据查询结果和所述组数据库返回的组库查询结果作为所述查询请求的查询结果。这样,在确保全局数据库的数据完整性的同时,用户可以对组数据库的数据进行操作,在查询操作中,可以根据删除记录表过滤用户已删除的全局数据库中的数据,准确地获取用户需要查询的数据,使得用户感受不到组数据库和全局数据库的存在,可实现全局数据公有的同时不同组用户的操作隔离,实现多个用户对数据操作互不影响、互不干扰的功能。
本发明实施例提供一种计算机装置,该计算机装置包括处理器,处理器用于执行存储器中计算机程序时实现上述各个方法实施例提供的基于分组的数据库处理方法的步骤。
示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。例如,计算机程序可以被分割成上述各个方法实施例提供的基于分组的数据库处理方法的步骤。
本领域技术人员可以理解,上述计算机装置的描述仅仅是示例,并不构成对计算机装置的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述计算机装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个基于分组的数据库处理方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信号以及软件分发介质等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。