CN110019245A - 数据操作方法、装置、存储介质及电子设备 - Google Patents
数据操作方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110019245A CN110019245A CN201810654648.9A CN201810654648A CN110019245A CN 110019245 A CN110019245 A CN 110019245A CN 201810654648 A CN201810654648 A CN 201810654648A CN 110019245 A CN110019245 A CN 110019245A
- Authority
- CN
- China
- Prior art keywords
- data
- call back
- back function
- multiple target
- bank
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据操作方法、装置、存储介质及电子设备,以解决分布式存储系统中的行级事务限制,实现分布式存储系统的跨行或跨表操作。本公开中的数据操作方法包括:接收客户端发送的用于对多个目标数据进行操作的数据操作请求;根据所述数据操作请求,确定是否需要对所述多个目标数据进行跨行或跨表操作;当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数;通过所述回调函数对所述多个目标数据进行跨行或跨表操作。
Description
技术领域
本公开涉及数据库技术领域,具体地,涉及一种数据操作方法、装置、存储介质及电子设备。
背景技术
Hbase数据库作为一种分布式、面向列的分布式存储系统,适合于非结构数据的存储,并且,Hbase数据库具有可伸缩的特性,使Hbase数据库能够比其他类型的数据库存储更多的数据,因此,Hbase数据库成为大数据领域的一个经典数据库,得到广泛地应用。
但是,Hbase数据库只支持基于行级事务的操作,即,在Hbase数据库中一次只能对同一数据表中的一行数据进行操作,因此,如果需要对不同行或表的数据进行操作,就只能进行多次操作,操作过程较繁琐,处理数据的效率较低。
发明内容
本公开的目的是提供一种数据操作方法、装置、存储介质及电子设备,以解决相关技术中分布式存储系统的行级事务限制,实现分布式存储系统的跨行或跨表操作。
第一方面,本公开提供一种数据操作方法,应用于分布式存储系统,包括:
接收客户端发送的用于对多个目标数据进行操作的数据操作请求;
根据所述数据操作请求,确定是否需要对所述多个目标数据进行跨行或跨表操作;
当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数;
通过所述回调函数对所述多个目标数据进行跨行或跨表操作。
可选地,当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数,包括:
当需要对所述多个目标数据进行跨行或跨表操作时,确定是否存在对应的回调函数;
当存在对应的回调函数时,获取对应的回调函数;
当不存在对应的回调函数时,生成对应的回调函数,并存储所述生成的回调函数。
可选地,在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,还包括:
确定是否存在数据操作异常;
当存在数据操作异常时,撤回通过所述回调函数对所述多个目标数据已经进行的操作,以使所述多个目标数据分别恢复到初始状态。
可选地,在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,还包括:
确定是否存在数据操作异常;
当存在数据操作异常时,定位异常数据;
将所述异常数据恢复到初始状态;
按照所述数据操作请求,对恢复到初始状态的异常数据重新进行对应的操作。
可选地,调用所述回调函数的回调接口设置在所述分布式存储系统的最小处理单元。
第二方面,本公开还提供一种数据操作装置,应用于分布式存储系统,所述装置包括:
接收模块,用于接收客户端发送的用于对多个目标数据进行操作的数据操作请求;
第一确定模块,用于根据所述数据操作请求,确定是否需要对所述多个目标数据进行跨行或跨表操作;
第二确定模块,用于当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数;
操作模块,用于通过所述回调函数对所述多个目标数据进行跨行或跨表操作。
可选地,所述第二确定模块用于:
当需要对所述多个目标数据进行跨行或跨表操作时,确定是否存在所述多个存储位置对应的回调函数;
当存在对应的回调函数时,获取对应的回调函数;
当不存在对应的回调函数时,生成对应的回调函数,并存储所述生成的回调函数。
可选地,所述装置还包括:
第三确定模块,用于在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,确定是否存在数据操作异常;
撤回模块,用于当存在数据操作异常时,撤回通过所述回调函数对所述多个目标数据已经进行的操作,以使所述多个目标数据分别恢复到初始状态。
可选地,所述装置还包括:
第四确定模块,用于在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,确定是否存在数据操作异常;
定位模块,用于当存在数据操作异常时,定位异常数据;
恢复模块,用于将所述异常数据恢复到初始状态;
再操作模块,用于按照所述数据操作请求,对恢复到初始状态的异常数据重新进行对应的操作。
第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面里任一项所述方法的步骤。
第四方面,本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面里任一项所述方法的步骤。
通过上述技术方案,可以接收客户端发送的用于对多个目标数据进行操作的数据操作请求,然后根据所述数据操作请求,确定是否需要对所述多个目标数据进行跨行或跨表操作,当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数,最后通过回调函数对多个目标数据进行跨行或跨表操作。也就是说,本公开可以通过回调函数解决分布式存储系统的行级事务限制,实现分布式存储系统的跨行或跨表操作,要处理多个不同表或行的数据时,只需调用一次回调函数即可,提高了数据处理效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种数据操作方法的流程图;
图2是根据本公开一示例性实施例示出的一种数据操作方法的事务处理流程图;
图3是根据本公开一示例性实施例示出的一种数据操作装置的框图;
图4是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
首先说明本公开的数据操作方法应用于分布式存储系统,比如HBase数据库,或者其他具有行级事务限制的分布式存储系统,等等,本公开对此不作限定,只要该分布式存储系统不能跨行或跨表操作即可。
图1是根据本公开一示例性实施例示出的一种数据操作方法,应用于分布式存储系统,参照图1,该数据操作方法包括:
步骤S101,接收客户端发送的用于对多个目标数据进行操作的数据操作请求。
步骤S102,根据数据操作请求,确定是否需要对多个目标数据进行跨行或跨表操作。
步骤S103,当需要对多个目标数据进行跨行或跨表操作时,确定对应的回调函数。
步骤S104,通过回调函数对多个目标数据进行跨行或跨表操作。
在步骤S101中,多个目标数据可以是存储在不同数据行中的多个数据,也可以是存储在不同数据表中的多个数据,等等,本公开对此不作限定,只要该多个目标数据是存储在不同数据行或不同数据表中即可。
以分布式存储系统为HBase数据库为例,在该数据库的A数据表中存储有用户C的电话号码,在B数据表中也存储有用户C的电话号码,那么多个目标数据就可以是存储在A数据表和B数据表中用户C的电话号码。
数据操作请求可以是对分布式存储系统中数据的添加、删除、修改等操作,本公开对此不作限定,只要该数据操作请求对应的数据存储在不同数据行或不同数据包即可。
比如,在上述A数据表和B数据表中都存储有用户C电话号码的例子中,如果用户C更换了电话号码,需要修改A数据表和B数据表中存储的用户C的电话号码,那么数据操作请求就可以是修改用户C电话号码的数据操作请求。
接收到客户端发送的数据操作请求后,在步骤S102中,需要根据数据操作请求,确定是否需要对所述多个目标数据进行跨行或跨表操作。
跨行操作为针对不同数据行的数据操作,比如,跨行操作可以是对不同数据行存储的数据进行读取操作,或者跨行操作也可以是对不同数据行进行数据写入的操作,等等,本公开对此不作限定。
同样的,跨表操作为针对不同数据表的数据操作,比如,跨表操作可以是对不同数据表存储的数据进行读取操作,或者跨表操作也可以是对不同数据表进行数据写入的操作,等等,本公开对此不作限定。
比如,在上述数据操作请求为修改用户C电话号码的例子中,由于用户C的电话号码存储在A数据表和B数据表,如果要修改用户C的电话号码,那么就需要进行对A数据表和B数据表进行数据修改操作,即,需要进行跨表操作。
如果根据数据操作请求,确定需要对目标数据进行跨行或跨表操作,那么就可以确定对应的回调函数。
确定对应的回调函数可以是根据多个目标数据对应的存储单元确定的,也就是说,如果需要对不同的数据行或数据表进行数据操作,那么就需要分别生成对应的回调函数,比如,需要对A数据表和B数据表进行数据操作,那么可以生成一个对应的回调函数F1,但如果需要对A数据表、B数据表和N数据表进行数据操作,那么就需要生成另外的回调函数F2。
又或者,确定对应的回调函数可以是根据数据操作请求对应的数据操作确定的,也就是说,如果需要对不同的数据行或数据表进行不同的数据操作,那么就需要分别生成对应的回调函数,比如,需要对A数据表和B数据表进行数据读取操作,那么可以生成一个对应的回调函数F3,但如果需要对A数据表和B数据表进行数据写入操作,那么就需要生成另外的回调函数F4。
需要说明的是,当根据不同的数据行或数据表生成回调函数时,则可以根据多个目标数据对应的存储单元确定对应的回调函数,而当根据不同的数据操作生成回调函数时,则可以根据数据操作请求对应的数据操作确定对应的回调函数。
确定了回调函数后,在步骤S104中,通过该回调函数对多个目标数据进行跨行或跨表操作,比如在上述修改用户C电话号码的例子中,确定了可以同时对A数据表和B数据表中存储数据进行操作的回调函数后,就通过该回调函数同时修改A数据表和B数据表中用户C的电话号码,而不是分别通过两次操作,先后对A数据表和B数据表中用户C的电话号码进行修改,这样避免了在多次操作过程中由于某一次操作失败而导致的数据不一致或不对应的问题,实现了分布式存储系统的跨行或跨表操作,从而进一步保证了分布式存储系统中数据存储的一致性。
可选地,当需要对多个目标数据进行跨行或跨表操作时,确定是否存在对应的回调函数,当存在对应的回调函数时,获取对应的回调函数,当不存在对应的回调函数时,生成对应的回调函数,并存储生成的回调函数。
也就是说,对于本公开中的回调函数,如果分布式存储系统中存储有对应的回调函数,那么可以直接调用,但如果分布式存储系统中没有存储有对应的回调函数,那么可以生成对应的回调函数,然后将该生成的回调函数存储在分布式存储系统中,这样,下一次数据操作就可以直接调用该回调函数。
生成的回调函数的具体内容可以是用户根据当前数据操作需求确定的,比如,用户需要同时对不同的数据表进行数据删除操作,那么生成的回调函数就可以是用于执行该不同数据表间数据删除操作,又或者,用户需要对不同的数据行进行数据添加操作,那么生成的回调函数就可以是用于执行该不同数据行间数据添加操作,等等,本公开对此不作限定。
当生成了回调函数后,通过修改传给回调函数的参数就可以实现对不同数据行或不同数据表间的数据操作。
需要说明的是,当根据不同的数据行或数据表生成回调函数时,由于这种情况下回调函数对应了固定的数据行或数据表,那么传给回调函数的参数可以是数据操作请求中需要操作的数据,比如,在上述需要修改A数据表和B数据表中用户C电话号码的例子中,传给回调函数的参数就可以是用户C的电话号码。
而当根据不同的数据操作生成回调函数时,由于这种情况下回调函数的内容为具体的数据操作,没有对应固定的数据行或数据表,那么传给回调函数的参数可以是数据操作请求中需要操作的数据和不同数据行或数据表对应的存储地址,比如,在上述需要修改A数据表和B数据表中用户C电话号码的例子中,传给回调函数的参数就可以是用户C的电话号码以及A数据表和B数据表对应的存储地址,等等,本公开对于传给回调函数的参数不作限定,只要回调函数通过该传递来的参数能够实现对不同数据行或不同数据表间的数据操作即可。
以分布式存储系统为HBase数据库为例,需要在A数据库和B数据库中同时修改用户C的电话号码,那么在修改A数据库和B数据库中用户C电话号码的过程中,先确定HBase修改数据库表的处理接口中有没有存储对应于A数据表和B数据表进行数据修改操作的回调函数,如果确定有,那么就直接调用该回调函数,但是如果确定没有,那么需要生成对应于A数据表和B数据表进行数据修改操作的回调函数,然后注册到HBase修改数据库表的处理接口中,以便下一次对A数据表和B数据表进行数据修改操作时使用。
通过以上的方式,可以在分布式存储系统中存储有对应的回调函数时直接调用该回调函数,而在没有存储有对应的回调函数时生成对应的回调函数并存储该生成的回调函数,而不是每一次都生成新的回调函数,提高了数据操作的效率,进而更高效地保证了数据存储的一致性。
在本公开中,生成回调函数后,需要将回调函数对应的回调接口注册在分布式存储系统中,便于回调函数的调用,比如,可以将回调接口注册在分布式存储系统的最小处理单元。即,可选地,调用回调函数的回调接口设置在分布式存储系统的最小处理单元。
以分布式存储系统为HBase数据库为例,当生成了回调函数后,可以将该回调函数对应的回调接口注册到HBase数据库的最小存储单元,即HRegion操作层,这样,在下一次数据操作过程,可以直接通过HRegion操作层中的回调接口调用回调函数,进行跨行或跨表操作。
在通过回调函数进行跨行或跨表操作后,为了进一步确保数据操作的一致性,可以进行数据操作异常的检测,并根据检测结果进行相应的操作。
可选地,在通过回调函数对多个目标数据进行跨行或跨表操作之后,该数据操作方法还包括:
确定是否存在数据操作异常;
当存在数据操作异常时,撤回通过回调函数对多个目标数据已经进行的操作,以使多个目标数据分别恢复到初始状态。
确定是否存在数据操作异常可以是通过分布式存储系统在数据操作过程中反馈的异常信息确定的,等等,本公开对于确定是否存在数据操作异常的方式不作限定。
初始状态为在通过回调函数对目标数据进行操作之前目标数据的状态,比如,A数据表和B数据表中用户C的电话号码为123456,通过回调函数对用户C的电话号码进行修改操作后,用户C的电话号码变为654321,在这个过程中,初始状态就指用户C电话号码为123456的状态。
例如,需要修改A数据表和B数据表中用户C的电话号码,且通过A数据表和B数据表对应的回调函数进行了相应的数据操作,此时,进行数据操作异常的检测,通过反馈的异常信息确定了B数据表中用户C的电话号码没有被修改,即,存在数据操作异常,那么就撤回通过回调函数对A数据表和B数据表中用户C电话号码的操作,将A数据表和B数据表中用户C的电话号码恢复到初始状态。
通过以上的方式,能够在存在数据操作异常时,通过撤回已进行的数据操作,保证数据存储的一致性。
可选地,在通过回调函数对多个目标数据进行跨行或跨表操作之后,该数据操作方法还包括:
确定是否存在数据操作异常;
当存在数据操作异常时,定位异常数据;
将异常数据恢复到初始状态;
按照数据操作请求,对恢复到初始状态的异常数据重新进行对应的操作。
定位异常数据可以是先确定反馈的异常信息的来源,然后根据该异常信息的来源确定存在异常的数据,等等,本公开对此不作限定,只要能够定位异常数据即可。
例如,需要修改A数据表和B数据表中用户C的电话号码,且通过A数据表和B数据表对应的回调函数进行了相应的数据操作,此时,进行数据操作异常的检测,通过反馈的异常信息确定了B数据表中用户C的电话号码没有被修改,即,存在数据操作异常,然后通过反馈的异常信息确定了该异常信息来自于B数据表中用户C的电话号码,那么先将B数据表中用户C的电话号码恢复到初始状态,然后按照数据操作请求(修改用户C电话号码),对B数据表中用户C电话号码重新进行修改操作。
通过以上的方式,可以能够在存在数据操作异常时,定位异常数据,并对异常数据进行相应的操作,保证数据存储的一致性。
参照图2,下面以分布式存储系统为HBase数据库为例,对本公开的数据操作方法的流程进行说明。
首先,客户端向HBase数据库发送用于对多个目标数据进行操作的数据操作请求,HBase数据库的对外处理接口接收到该数据操作请求后,通过HBase数据库的HMaster确定对应的HRegionServer和HRegion(HRegion为HBase数据管理基本单位,HRegionServer为管理HRegion的服务器,一个HRegionServer包括多个HRegion,HMaster用于根据数据操作请求先确定对应的HRegionServer,然后在HRegionServer中确定对应的HRegion),通过上述操作可以确定多个目标数据对应的多个存储单元,即,确定是否需要跨行或跨表操作,当确定需要跨行或跨表操作时,在HRegion检测是否有注册了的对应的回调接口,如果有对应的回调接口,那么就执行该回调接口对应的回调函数的内容,即,通过回调函数对多个目标数据进行跨行或跨表操作,最后,将处理后的结果逐级返回给客户端。
需要说明的是,在HRegion中还有单独处理接口,用于对单独的数据表或数据行进行操作,如果一个数据操作请求是需要同时对不同的数据表或数据行进行操作,按照相关技术,HRegion中的单独处理接口会分别接收这些数据操作请求,但是在本方案中,这些数据操作请求均由对应的回调接口接收,那么,为了避免单独处理接口对这些数据操作请求对应的参数进行接收和处理,可以在回调接口接收并处理这些参数后,将这些参数标记为无效,比如,将这些参数置为空,等等,以防止单独处理接口对这些参数进行重复接收和处理。
通过本公开的数据操作方法可以通过回调函数解决分布式存储系统的行级事务限制,实现分布式存储系统的跨行或跨表操作,保持数据存储的一致性,比如,存储有同一用户的A银行卡和B银行卡数据的两个数据表,在用户需要从A银行卡转账100元钱到B银行卡的情况下,按照相关技术,会先将A银行卡对应数据表中的账户余额减去100,然后再将B银行卡对应数据表中的账户余额加上100,但是按照本公开的数据操作方法,可以通过回调函数一次性实现对A银行卡账户余额减去100和对B银行卡账户余额加上100的操作,从而保证数据存储的一致性。
基于同一发明构思,参照图3,本公开还提供一种数据操作装置300,应用于分布式存储系统,数据操作装置300包括:
接收模块301,用于接收客户端发送的用于对多个目标数据进行操作的数据操作请求;
第一确定模块302,根据所述数据操作请求,确定是否需要对所述多个目标数据进行跨行或跨表操作;
第二确定模块303,用于当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数;
操作模块304,用于通过所述回调函数对所述多个目标数据进行跨行或跨表操作。
可选地,第二确定模块303用于:
当需要对所述多个目标数据进行跨行或跨表操作时,确定是否存在对应的回调函数;
当存在应的回调函数时,获取对应的回调函数;
当不存在对应的回调函数时,生成对应的回调函数,并存储所述生成的回调函数。
可选地,所述装置还包括:
第三确定模块,用于在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,确定是否存在数据操作异常;
撤回模块,用于当存在数据操作异常时,撤回通过所述回调函数对所述多个目标数据已经进行的操作,以使所述多个目标数据分别恢复到初始状态。
可选地,所述装置还包括:
第四确定模块,用于在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,确定是否存在数据操作异常;
定位模块,用于当存在数据操作异常时,定位异常数据;
恢复模块,用于将所述异常数据恢复到初始状态;
再操作模块,用于按照所述数据操作请求,对恢复到初始状态的异常数据重新进行对应的操作。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种电子设备400的框图。如图4所示,该电子设备400可以包括:处理器401,存储器402。该电子设备400还可以包括多媒体组件403,输入/输出(I/O)接口404,以及通信组件405中的一者或多者。
其中,处理器401用于控制该电子设备400的整体操作,以完成上述的数据操作方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该电子设备400的操作,这些数据例如可以包括用于在该电子设备400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该电子设备400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据操作方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据操作方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器402,上述程序指令可由电子设备400的处理器401执行以完成上述的数据操作方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种数据操作方法,其特征在于,应用于分布式存储系统,包括:
接收客户端发送的用于对多个目标数据进行操作的数据操作请求;
根据所述数据操作请求,确定是否需要对所述多个目标数据进行跨行或跨表操作;
当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数;
通过所述回调函数对所述多个目标数据进行跨行或跨表操作。
2.根据权利要求1所述的方法,其特征在于,当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数,包括:
当需要对所述多个目标数据进行跨行或跨表操作时,确定是否存在对应的回调函数;
当存在对应的回调函数时,获取对应的回调函数;
当不存在对应的回调函数时,生成对应的回调函数,并存储所述生成的回调函数。
3.根据权利要求1所述的方法,其特征在于,在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,还包括:
确定是否存在数据操作异常;
当存在数据操作异常时,撤回通过所述回调函数对所述多个目标数据已经进行的操作,以使所述多个目标数据分别恢复到初始状态。
4.根据权利要求1所述的方法,其特征在于,在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,还包括:
确定是否存在数据操作异常;
当存在数据操作异常时,定位异常数据;
将所述异常数据恢复到初始状态;
按照所述数据操作请求,对恢复到初始状态的异常数据重新进行对应的操作。
5.根据权利要求1-4任一所述的方法,其特征在于,调用所述回调函数的回调接口设置在所述分布式存储系统的最小处理单元。
6.一种数据操作装置,其特征在于,应用于分布式存储系统,所述装置包括:
接收模块,用于接收客户端发送的用于对多个目标数据进行操作的数据操作请求;
第一确定模块,用于根据所述数据操作请求,确定是否需要对所述多个目标数据进行跨行或跨表操作;
第二确定模块,用于当需要对所述多个目标数据进行跨行或跨表操作时,确定对应的回调函数;
操作模块,用于通过所述回调函数对所述多个目标数据进行跨行或跨表操作。
7.根据权利要求6所述的装置,其特征在于,所述第二确定模块用于:
当需要对所述多个目标数据进行跨行或跨表操作时,确定是否存在对应的回调函数;
当存在对应的回调函数时,获取对应的回调函数;
当不存在对应的回调函数时,生成对应的回调函数,并存储所述生成的回调函数。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于在通过所述回调函数对所述多个目标数据进行跨行或跨表操作之后,确定是否存在数据操作异常;
撤回模块,用于当存在数据操作异常时,撤回通过所述回调函数对所述多个目标数据已经进行的操作,以使所述多个目标数据分别恢复到初始状态。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810654648.9A CN110019245A (zh) | 2018-06-22 | 2018-06-22 | 数据操作方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810654648.9A CN110019245A (zh) | 2018-06-22 | 2018-06-22 | 数据操作方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019245A true CN110019245A (zh) | 2019-07-16 |
Family
ID=67188393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810654648.9A Withdrawn CN110019245A (zh) | 2018-06-22 | 2018-06-22 | 数据操作方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019245A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783969A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 请求处理方法及装置、计算机系统和可读存储介质 |
-
2018
- 2018-06-22 CN CN201810654648.9A patent/CN110019245A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783969A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 请求处理方法及装置、计算机系统和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108961033B (zh) | 多业务系统交互方法及装置、存储介质、电子终端 | |
CN102223363B (zh) | 在管理通信会话的图形界面中生成持续会话的系统和方法 | |
WO2015088853A1 (en) | Launching a client application based on a message | |
CN106897924A (zh) | 一种网络资源转移方法、资金转移方法、还款方法及装置 | |
EP3026622A1 (en) | Receiving information processing method and device | |
CN108134766A (zh) | 一种服务发布的方法、装置、系统、服务器及客户端 | |
CN110083590A (zh) | 数据填充方法及装置和计算机可读存储介质 | |
CN108140174A (zh) | 针对通信中对象的对话和版本控制 | |
CN109493048A (zh) | 基于区块链的财务记账方法、装置、设备及存储介质 | |
CN108898468A (zh) | 信息异步处理方法、装置、计算机设备及存储介质 | |
CN110019245A (zh) | 数据操作方法、装置、存储介质及电子设备 | |
CN104601448A (zh) | 一种对虚拟卡片进行处理的方法和装置 | |
CN105786399A (zh) | 一种数据转存方法、装置及系统 | |
CN112822430B (zh) | 一种会议群组合并的方法与设备 | |
CN111369239B (zh) | 一种资源转移方法、装置及系统 | |
CN111047444A (zh) | 一种基于区块链网络的数据交易方法和装置 | |
CN101295267B (zh) | 队列管理方法和装置、计算机系统及计算机可读介质 | |
CN112579308A (zh) | 任务处理方法及系统 | |
CN112988426A (zh) | 消息的处理方法和装置 | |
CN113986995A (zh) | 请求分发方法、装置、存储介质及电子设备 | |
CN114244905A (zh) | 数据转发方法、装置、计算机设备和存储介质 | |
CN115222390A (zh) | 安全检查方法、装置、设备及存储介质 | |
CN114416248A (zh) | 会话方法及其装置 | |
CN112738153A (zh) | 业务系统中的网关选择方法、系统、装置、服务器及介质 | |
CN110310196A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190716 |