CN113377402A - 多版本并发存储方法和装置 - Google Patents
多版本并发存储方法和装置 Download PDFInfo
- Publication number
- CN113377402A CN113377402A CN202110701214.1A CN202110701214A CN113377402A CN 113377402 A CN113377402 A CN 113377402A CN 202110701214 A CN202110701214 A CN 202110701214A CN 113377402 A CN113377402 A CN 113377402A
- Authority
- CN
- China
- Prior art keywords
- request
- target object
- query
- version
- determining
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开公开了多版本并发存储方法和装置,涉及人工智能领域,具体涉及计算机视觉和深度学习技术,具体可用于基础架构场景下。具体实现方案为:首先响应接收到用户的更新请求,获取更新请求对应的目标对象,然后确定更新请求对应的请求标识,最后基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本,实现了一种全新的多版本并发控制存储方法,能够基于用户的更新请求对不同的版本进行存储。
Description
技术领域
本公开涉及人工智能领域,具体涉及计算机视觉和深度学习技术,具体可用于基础架构场景下。
背景技术
在现在互联网高速发展的时候,存储***作为最底层的支持***,在整个业界的地位中至关重要,
尤其是在现在人工智能,产业互联网高速发展的时刻。随着行业的发现,业务对存储***的所要求支持的功能也越来越多,典型的简单存储***只能满足单个键值对的存取,但是在一些复杂的场景,比如对象性的相关场景,多并发数据的场景,简单的键值对***已经不能满足了。因此mvcc(Multi-Version Concurrency Control)即多版本并发控制技术,闪回等相关技术,成为这些年的研究热点。
发明内容
本公开提供了一种多版本并发存储方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种多版本并发存储方法,该方法包括:响应接收到用户的更新请求,获取更新请求对应的目标对象;确定更新请求对应的请求标识;基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本。
根据本公开的另一方面,提供了一种多版本并发存储装置,该装置包括:获取模块,被配置成响应接收到用户的更新请求,获取更新请求对应的目标对象;确定模块,被配置成确定更新请求对应的请求标识;更新模块,被配置成基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本。
根据本公开的另一方面,提供了一种电子设备,该电子设备包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述多版本并发存储方法。
根据本公开的另一方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机指令,该计算机指令用于使计算机能够执行上述多版本并发存储方法。
根据本公开的另一方面,本申请实施例提供了一种计算机程序产品,其包括计算机程序,计算机程序在被处理器执行时实现上述多版本并发存储方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的多版本并发存储方法的一个实施例的流程图;
图2是根据本公开的多版本并发存储方法的一个应用场景的示意图;
图3是根据本公开的确定更新请求对应的请求标识的一个实施例的流程图;
图4是根据本公开的确定目标对象对应的更新版本的一个实施例的流程图;
图5是根据本公开的多版本并发存储方法的另一个实施例的流程图;
图6是根据本公开的多版本并发存储装置的一个实施例的结构示意图;
图7是用来实现本公开实施例的多版本并发存储方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
参考图1,图1示出了可以应用于本公开的多版本并发存储方法的实施例的流程示意图100。该多版本并发存储方法包括以下步骤:
步骤110,响应接收到用户的更新请求,获取更新请求对应的目标对象。
在本实施例中,终端可以为具有显示设备的装置,终端可以通过显示设备向用户展示对某一对象进行更新的界面,用户在终端的展示界面中针对目标对象进行更新操作,终端根据该更新操作生成与目标对象对应的更新请求,并将该更新请求发送至多版本并发存储方法的执行主体。多版本并发存储方法的执行主体(例如服务器)接收到终端发送的更新请求,可以根据更新请求确定与该更新请求对应的目标对象。
上述执行主体可以对接收到的更新请求进行解析,获取更新请求中包括的目标对象的标识信息,并在本地存储中确定出与该标识信息对应的目标对象。
或者,终端在发送更新请求时,也可以将更新请求对应的目标对象的标识信息一并发送至上述执行主体,上述执行主体接收到更新请求和标识信息后,根据标识信息,在本地存储中确定出与该标识信息对应的目标对象。
步骤120,确定更新请求对应的请求标识。
在本实施例中,上述执行主体接收到更新请求后,可以根据该更新请求进行预设操作,确定其对应的请求标识,该预设操作可以是基于更新请求确定请求标识的操作。
上述执行主体可以预先设置一个序号组,一个更新请求可以对应一个序号,该序号组可以包括至少一个有序序号。上述执行主体每接收到一个更新请求,可以按照顺序在序号组中确定一个序号,将该序号作为更新请求的请求标识,并在序号组中将该序号删除。作为示例,上述执行主体接收到第一更新请求后,在序号组中确定第一更新请求对应的序号为一,将序号一作为第一更新请求的请求标识,并将序号一在序号组中删除,然后上述执行主体接收到第二更新请求,在序号组中确定第二更新请求对应的序号为二,将序号二作为第二更新请求的请求标识,并将序号二在序号组中删除,以此类推,每接收到一个更新请求在序号组中确定一个序号,并将对应的序号删除。
或者,上述执行主体可以对接收到的更新请求进行编码操作,得到该更新请求对应的编码结果,并将该编码结果确定为更新请求对应的请求标识。
步骤130,基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本。
在本实施例中,上述执行主体确定出目标对象后,对目标对象进行获取,确定出目标对象对应的元数据,该元数据可以是目标对象的基础值。上述执行主体确定出目标对象的元数据和更新请求对应的请求标识后,可以根据目标对象的元数据和请求标识,确定目标对象针对该更新请求的更新数据,并将元数据和请求标识构建目标对象对应的有限状态机,将目标对象的元数据和请求标识组成目标对象针对该更新请求的更新版本,则更新数据为目标对象针对更新版本的数据。
上述执行主体可以将更新版本添加至目标对象的存储版本中,以更新目标对象的存储版本,该存储版本可以包括更新版本和更新版本之前的其他版本,其他版本对应目标对象的不同操作请求。
继续参考图2,图2是根据本实施例的多版本并发存储方法的一个应用场景的示意图。在图2的应用场景中,终端201接收到用户对目标对象的更新操作,并根据更新操作生成与目标对象对应的更新请求,将该更新请求发送给服务器202。服务器202接收到用户的更新请求,根据该更新请求获取更新请求对应的目标对象。然后服务器202根据该更新请求,确定出更新请求对应的请求标识,并根据目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本。
本公开的实施例提供的多版本并发存储方法,通过响应接收到用户的更新请求,获取更新请求对应的目标对象,然后确定更新请求对应的请求标识,最后基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本,实现了一种全新的多版本并发控制存储方法,能够基于用户的更新请求对不同的版本进行存储,实现了不同请求标识对应不同版本,不需要单独维护其他***,实现方式简单,提高了多版本并发控制存储的效率和简便性。
参考图3,图3示出了确定更新请求对应的请求标识的一个实施例的流程图300,即上述步骤120,确定更新请求对应的请求标识,可以包括以下步骤:
步骤310,获取目标对象对应的请求标识序列。
在本步骤中,上述执行主体接收到更新请求后,确定出更新请求对应的目标对象。上述执行主体可以根据目标对象和请求标识序列之间的对应关系,获取到目标对象对应的请求标识序列,该请求标识序列可以包括目标对象对应的全部操作请求的请求标识,每个请求标识对应不同的操作请求,每个请求标识按照顺序存放,可以是按照接收到的操作请求的顺序进行存放,也可以按照操作请求的时间顺序进行存放,本公开对此不做具体限定。
作为示例,上述执行主体接收到第一更新请求,确定出第一更新请求的请求标识为T0,可以将T0存放在目标对象对应的请求标识序列中。然后上述执行主体接收到第二更新请求,确定出第二更新请求的请求标识为T1,可以将T1存放在T0的后面,此时,目标对象对应的请求标识序列中包括T0、T1顺序存放的两个请求标识。
步骤320,基于请求标识序列中最后一个请求标识,确定更新请求对应的请求标识。
在本步骤中,上述执行主体获取到目标对象对应的请求标识序列,该请求标识序列中存放的是已经根据顺序确定出的请求标识。上述执行主体从请求标识序列中确定出最后一个请求标识,最后一个请求标识为本次接收到的更新请求的上一个操作请求对应的请求标识。
上述执行主体确定出上一个请求标识后,可以对上一个请求标识进行预设运算得到更新请求对应的请求标识。这里的预设运算可以为预设的加法运算、乘法运算或按照预设公式执行的运算,当上一个请求标识为字符串时,预设运算可以为在字符串后增加预设的字符。
具体地,上述执行主体可以将上一个请求标识加1,作为更新请求对应的请求标识,请求标识序列中各请求标识可以依次为0,1,2,3,…,或T0,T1,T2,T3,…。进一步地,若更新请求为第一个操作请求,则上述上一个请求标识为空白的,则可以设定该更新请求对应的请求标识为0或T0等初始标识。
在本实施例中,基于上一个请求标识确定更新请求的请求标识,使得相邻请求标识之间具有关联性,目标对象的请求标识序列中的各请求标识之间具有关联关系,可以按照顺序进行存放,提高了确定的请求标识的准确性。
参考图4,图4示出了确定目标对象对应的更新版本的一个实施例的流程图400,即上述步骤130,基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本,可以包括以下步骤:
步骤410,将请求标识添加至请求标识序列中,得到更新后的请求标识序列。
在本实施例中,上述执行主体获取到更新请求对应的请求标识后,可以将该请求标识添加至请求标识序列中,将该请求标识存放在最后一个请求标识的后面,使得请求标识序列中各请求标识顺序存放,从而得到更新后的请求标识序列。
步骤420,基于目标对象的元数据和更新后的请求标识序列,确定目标对象对应的更新版本,并更新目标对象的存储版本。
在本实施例中,上述执行主体获取到更新后的请求标识序列后,可以根据目标对象的元数据和更新请求对应的请求标识,确定目标对象针对该更新请求的更新数据。上述执行主体可以将目标对象的元数据和更新后的请求标识序列构建目标对象对应的有限状态机,将目标对象的元数据和更新后的请求标识序列组成目标对象针对该更新请求的更新版本,该更新版本包括目标对象的元数据和更新后的请求标识序列中排列在更新请求的请求标识之前的全部请求标识,以及该更新数据为目标对象针对更新版本的数据。
作为示例,上述执行主体确定出更新请求的请求标识为T2,将T2添加至T1后面,得到更新后的请求标识序列为T0,T1,T2。上述执行主体可以确定目标对象的元数据与T0,T1,T2组成目标对象的更新版本。进一步地,目标对象的元数据与T0,T1组成目标对象的上一个版本,以此递推,可以使用目标对象的元数据与请求标识序列组成目标对象的各个版本。
在本实施例中,基于请求标识序列和元数据确定目标对象的更新版本,使得每个操作请求对应的请求标识能够组成不同的版本,能够基于用户的更新请求对不同的版本进行存储,实现了不同请求标识对应不同版本。
参考图5,图5示出了多版本并发存储方法的另一个实施例的流程图500,即该多版本并发存储方法,还可以包括以下步骤:
步骤510,响应接收到用户的更新请求,获取更新请求对应的目标对象。
本实施例的步骤510可以按照与图1所示实施例中的步骤110类似的方式执行,此处不赘述。
步骤520,确定更新请求对应的请求标识。
本实施例的步骤520可以按照与图1所示实施例中的步骤120类似的方式执行,此处不赘述。
步骤530,基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本。
本实施例的步骤530可以按照与图1所示实施例中的步骤130类似的方式执行,此处不赘述。
步骤540,响应于接收到用户对目标对象的查询请求,在目标对象对应的请求标识序列中确定出查询请求对应的请求标识。
在本实施例中,上述执行主体可以根据用户的更新请求对目标对象进行不同版本的存储,从而得到目标对象的与不同请求标识对应的不同版本。用户还可以在终端的展示界面中针对目标对象进行查询操作,终端根据该查询操作生成与目标对象对应的查询请求,并将该查询请求发送至上述执行主体。上述执行主体可以接收终端发送的、用户针对不同版本的目标对象的查询请求,并根据该查询请求在目标对象对应的请求标识序列中确定出查询请求对应的请求标识。
由于不同版本对应不同的请求标识,则该查询请求可以包括用户输入的请求标识,上述执行主体可以对查询请求进行解析,获取到查询请求中的请求标识。上述执行主体可以根据该请求标识,从接收到的查询请求中获取用户查询版本对应的请求标识,并根据查询请求中的请求标识,在目标对象对应的请求标识序列中确定出查询请求对应的请求标识。
步骤550,基于目标对象的元数据和查询请求对应的请求标识,确定查询请求对应的查询版本。
在本实施例中,上述执行主体从请求标识序列中确定出查询请求对应的请求标识后,进一步获取目标对象的元数据,将目标对象的元数据和请求标识对应的数据作为查询请求对应的查询数据,并将目标对象的元数据和请求标识组成的版本作为查询版本。
步骤560,将查询版本对应的目标对象呈现给用户。
在本实施例中,上述执行主体确定出目标对象的查询版本后,可以将目标对象对应的查询版本和查询数据发送给终端。终端通过显示设备将目标对象对应的查询版本和查询数据呈现给用户。
在本实施例中,基于查询请求对应的请求标识确定目标对象的查询版本,提高了目标对象不同存储版本的查询效率,能够更准确、更迅速地确定出目标对象的查询版本。
作为一个可选实现方式,上述步骤550,将目标对象的元数据和查询请求对应的请求标识作为查询请求对应的查询版本,可以包括以下步骤:响应于确定出查询请求对应的请求标识,将请求标识序列中查询请求对应的请求标识之前的全部请求标识作为查询标识;基于目标对象的元数据和查询标识,确定查询请求对应的查询版本。
具体地,由于不同版本对应不同的请求标识,则该查询请求可以包括用户输入的请求标识,上述执行主体可以对查询请求进行解析,获取到查询请求中的请求标识。上述执行主体可以根据该请求标识,从接收到的查询请求中获取用户查询版本对应的请求标识,并根据查询请求中的请求标识,在目标对象对应的请求标识序列中确定出查询请求对应的请求标识。
上述执行主体从请求标识序列中确定出排列在查询请求对应的请求标识之前的全部请求标识,并将确定出的全部请求标识和查询请求对应的请求标识作为查询标识。作为示例,请求标识序列可以为T0,T1,T2,T3,上述执行主体确定出查询请求对应的请求标识为T2,则上述执行主体可以将排列在T2之前的全部请求标识T0,T1作为查询标识,则进一步确定查询请求对应的查询版本中的请求标识包括T0,T1,T2。
上述执行主体从请求标识序列中确定出查询标识后,将查询标识对应的请求标识和查询请求对应的请求标识作为查询版本对应的请求标识序列。上述执行主体可以进一步获取目标对象的元数据,将目标对象的元数据和查询版本对应的请求标识序列对应的数据作为查询请求对应的查询数据,并将目标对象的元数据和查询版本对应的请求标识序列组成的版本作为查询版本。
作为示例,上述执行主体确定出查询标识为T0,T1,并进一步确定出查询版本对应的请求标识序列为T0,T1,T2,则将元数据与T0,T1,T2作为查询请求对应的查询版本,将元数据与T0,T1,T2对应的数据作为查询请求对应的查询数据。
在本实现方式中,基于查询请求对应的请求标识从请求标识序列中确定查询标识,并确定出查询版本,提高了目标对象不同存储版本的查询效率,能够更准确、更迅速地确定出目标对象的查询版本。
进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种多版本并发存储装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的多版本并发存储装置600包括:获取模块610,确定模块620和更新模块630。
其中,获取模块610,被配置成响应接收到用户的更新请求,获取更新请求对应的目标对象;
确定模块620,被配置成确定更新请求对应的请求标识;
更新模块630,被配置成基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本。
在本实施例的一些可选的方式中,确定模块620,进一步被配置成:获取目标对象对应的请求标识序列,其中,请求标识序列包括顺序存放的请求标识;基于请求标识序列中最后一个请求标识,确定更新请求对应的请求标识。
在本实施例的一些可选的方式中,更新模块630,进一步被配置成:将请求标识添加至请求标识序列中,得到更新后的请求标识序列;基于目标对象的元数据和更新后的请求标识序列,确定目标对象对应的更新版本,并更新目标对象的存储版本。
在本实施例的一些可选的方式中,该装置还包括:查询模块;以及查询模块,被配置成:响应于接收到用户对目标对象的查询请求,在目标对象对应的请求标识序列中确定出查询请求对应的请求标识;基于目标对象的元数据和查询请求对应的请求标识,确定查询请求对应的查询版本;将查询版本对应的目标对象呈现给用户。
在本实施例的一些可选的方式中,查询模块,进一步被配置成:响应于确定出查询请求对应的请求标识,将请求标识序列中查询请求对应的请求标识之前的全部请求标识作为查询标识;基于目标对象的元数据和查询标识,确定查询请求对应的查询版本。
本公开的实施例提供的多版本并发存储装置,通过响应接收到用户的更新请求,获取更新请求对应的目标对象,然后确定更新请求对应的请求标识,最后基于目标对象的元数据和请求标识,确定目标对象对应的更新版本,并更新目标对象的存储版本,实现了一种全新的多版本并发控制存储方法,能够基于用户的更新请求对不同的版本进行存储,实现了不同请求标识对应不同版本,不需要单独维护其他***,实现方式简单,提高了多版本并发控制存储的效率和简便性。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
电子设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如多版本并发存储方法。例如,在一些实施例中,多版本并发存储方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的多版本并发存储方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多版本并发存储方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种多版本并发存储方法,包括:
响应接收到用户的更新请求,获取所述更新请求对应的目标对象;
确定所述更新请求对应的请求标识;
基于所述目标对象的元数据和所述请求标识,确定所述目标对象对应的更新版本,并更新所述目标对象的存储版本。
2.根据权利要求1所述的方法,其中,所述确定所述更新请求对应的请求标识,包括:
获取所述目标对象对应的请求标识序列,其中,所述请求标识序列包括顺序存放的请求标识;
基于所述请求标识序列中最后一个请求标识,确定所述更新请求对应的请求标识。
3.根据权利要求2所述的方法,其中,所述基于所述目标对象的元数据和所述请求标识,确定所述目标对象对应的更新版本,并更新所述目标对象的存储版本,包括:
将所述请求标识添加至所述请求标识序列中,得到更新后的请求标识序列;
基于所述目标对象的元数据和所述更新后的请求标识序列,确定所述目标对象对应的更新版本,并更新所述目标对象的存储版本。
4.根据权利要求1所述的方法,其中,所述方法还包括:
响应于接收到用户对目标对象的查询请求,在所述目标对象对应的请求标识序列中确定出所述查询请求对应的请求标识;
基于所述目标对象的元数据和所述查询请求对应的请求标识,确定所述查询请求对应的查询版本;
将所述查询版本对应的目标对象呈现给用户。
5.根据权利要求4所述的方法,其中,所述基于所述目标对象的元数据和所述查询请求对应的请求标识,确定所述查询请求对应的查询版本,包括:
响应于确定出所述查询请求对应的请求标识,将所述请求标识序列中所述查询请求对应的请求标识之前的全部请求标识作为查询标识;
基于所述目标对象的元数据和所述查询标识,确定所述查询请求对应的查询版本。
6.一种多版本并发存储装置,包括:
获取模块,被配置成响应接收到用户的更新请求,获取所述更新请求对应的目标对象;
确定模块,被配置成确定所述更新请求对应的请求标识;
更新模块,被配置成基于所述目标对象的元数据和所述请求标识,确定所述目标对象对应的更新版本,并更新所述目标对象的存储版本。
7.根据权利要求6所述的装置,其中,所述确定模块,进一步被配置成:
获取所述目标对象对应的请求标识序列,其中,所述请求标识序列包括顺序存放的请求标识;
基于所述请求标识序列中最后一个请求标识,确定所述更新请求对应的请求标识。
8.根据权利要求7所述的装置,其中,所述更新模块,进一步被配置成:
将所述请求标识添加至所述请求标识序列中,得到更新后的请求标识序列;
基于所述目标对象的元数据和所述更新后的请求标识序列,确定所述目标对象对应的更新版本,并更新所述目标对象的存储版本。
9.根据权利要求6所述的装置,其中,所述装置还包括:查询模块;以及所述查询模块,被配置成:
响应于接收到用户对目标对象的查询请求,在所述目标对象对应的请求标识序列中确定出所述查询请求对应的请求标识;
基于所述目标对象的元数据和所述查询请求对应的请求标识,确定所述查询请求对应的查询版本;
将所述查询版本对应的目标对象呈现给用户。
10.根据权利要求9所述的装置,其中,所述查询模块,进一步被配置成:
响应于确定出所述查询请求对应的请求标识,将所述请求标识序列中所述查询请求对应的请求标识之前的全部请求标识作为查询标识;
基于所述目标对象的元数据和所述查询标识,确定所述查询请求对应的查询版本。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110701214.1A CN113377402A (zh) | 2021-06-23 | 2021-06-23 | 多版本并发存储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110701214.1A CN113377402A (zh) | 2021-06-23 | 2021-06-23 | 多版本并发存储方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377402A true CN113377402A (zh) | 2021-09-10 |
Family
ID=77578737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110701214.1A Pending CN113377402A (zh) | 2021-06-23 | 2021-06-23 | 多版本并发存储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377402A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299194A (zh) * | 2018-09-25 | 2019-02-01 | 平安科技(深圳)有限公司 | 多版本数据存储管理方法及装置、电子设备、存储介质 |
CN111782254A (zh) * | 2020-07-02 | 2020-10-16 | 百度在线网络技术(北京)有限公司 | 用于升级对象的方法、装置、设备以及存储介质 |
CN112115217A (zh) * | 2020-08-11 | 2020-12-22 | 北京四维图新科技股份有限公司 | 高精地图的数据处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-06-23 CN CN202110701214.1A patent/CN113377402A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299194A (zh) * | 2018-09-25 | 2019-02-01 | 平安科技(深圳)有限公司 | 多版本数据存储管理方法及装置、电子设备、存储介质 |
CN111782254A (zh) * | 2020-07-02 | 2020-10-16 | 百度在线网络技术(北京)有限公司 | 用于升级对象的方法、装置、设备以及存储介质 |
CN112115217A (zh) * | 2020-08-11 | 2020-12-22 | 北京四维图新科技股份有限公司 | 高精地图的数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113342345A (zh) | 深度学习框架的算子融合方法、装置 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN113641677A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN114816393B (zh) | 信息生成方法、装置、设备以及存储介质 | |
CN112559631A (zh) | 分布式图数据库的数据处理方法、装置以及电子设备 | |
CN112528067A (zh) | 图数据库的存储方法、读取方法、装置及设备 | |
CN114328739A (zh) | 数据同步、读取方法及装置、电子设备、存储介质及产品 | |
CN113312560A (zh) | 群组检测方法、装置及电子设备 | |
CN113868254B (zh) | 图数据库中的实体节点去重方法、设备和存储介质 | |
CN111177479A (zh) | 获取关系网络图中节点的特征向量的方法以及装置 | |
CN115454971A (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN114168119B (zh) | 代码文件编辑方法、装置、电子设备以及存储介质 | |
CN112887426B (zh) | 信息流的推送方法、装置、电子设备以及存储介质 | |
CN115905322A (zh) | 业务处理方法、装置、电子设备及存储介质 | |
CN113377402A (zh) | 多版本并发存储方法和装置 | |
CN112559547B (zh) | 确定多存储对象副本之间一致性的方法及装置 | |
CN114417070A (zh) | 数据权限的收敛方法、装置、设备以及存储介质 | |
CN114116924A (zh) | 基于图谱数据的数据查询方法、图谱数据构建方法和装置 | |
CN114138358A (zh) | 应用程序的启动优化方法、装置、设备和存储介质 | |
CN113691403A (zh) | 拓扑节点配置方法、相关装置及计算机程序产品 | |
CN112948246B (zh) | 数据平台的ab测试控制方法、装置、设备及存储介质 | |
CN113051313B (zh) | 信息聚合方法、装置、电子设备、存储介质和程序产品 | |
CN114153526A (zh) | 基于代理的灰度配置方法、装置、电子设备和介质 | |
CN113434508A (zh) | 用于存储信息的方法和装置 | |
CN114579520A (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 |