CN111598560A - 基于存储服务的数据修改方法、装置和存储服务器 - Google Patents
基于存储服务的数据修改方法、装置和存储服务器 Download PDFInfo
- Publication number
- CN111598560A CN111598560A CN202010403324.5A CN202010403324A CN111598560A CN 111598560 A CN111598560 A CN 111598560A CN 202010403324 A CN202010403324 A CN 202010403324A CN 111598560 A CN111598560 A CN 111598560A
- Authority
- CN
- China
- Prior art keywords
- modification
- data
- operator
- storage
- storage server
- 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
- 238000002715 modification method Methods 0.000 title claims abstract description 23
- 238000012986 modification Methods 0.000 claims abstract description 297
- 230000004048 modification Effects 0.000 claims abstract description 296
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000007717 exclusion Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于存储服务的数据修改方法、装置和存储服务器。其中,该方法包括:解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符;在顺序运行每一修改运算符的过程中,将所述存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对所述待修改数据的运算结果,所述待修改数据为该修改运算符在所述存储服务器内指向的在该修改运算符的当前运行时刻下存储的数据。本发明实施例提供的技术方案,通过顺序运行每一修改运算符,避免高并发下针对同一存储数据的修改冲突,实现存储服务在高并发下的数据准确修改,在保证基于存储服务的数据修改准确性的基础上,提高存储服务器上数据修改的高并发性能。
Description
技术领域
本发明实施例涉及视频存储技术领域,尤其涉及一种基于存储服务的数据修改方法、装置和存储服务器。
背景技术
随着互联网技术的快速发展,会存在大量的资源数据进行存储,常见的存储服务会为不同业务方分别提供有存储数据的查询、修改和删除等功能,以供业务方正常使用该存储数据;此时业务方对于存储数据的修改操作通常需要业务方所处的业务服务端先从存储服务端中读取到对应的存储数据,进而在业务服务端本地上执行本次修改下的相关运算,并将运算结果作为修改结果再次写入到存储服务端中,从而实现存储数据的修改。
目前,由于在高并发修改存储数据的场景下,多个业务方并发对同一存储数据进行修改时,会存在修改出错的问题,因此为了避免存储数据在高并发修改下的出错,通常会采用对存储数据加互斥锁或者乐观锁的方式来保证业务方对存储数据并发修改的正确性。
此时,基于互斥锁执行高并发的数据修改操作时,存在对存储数据添加有互斥锁的业务方独占存储数据的操作,而其他业务方无法操作的特点,使得在高并发下需要依次执行各个业务方的修改操作,并不断与存储服务端进行存储数据的操作交互,存在极大的数据操作开销,降低了高并发修改存储数据的性能;同时,基于乐观锁执行高并发的数据修改操作时,会对最终修改提交的写操作进行版本校验,在本次修改采用的运算版本与存储服务端的当前版本不一致,而存在修改冲突时,需要采用当前版本重新执行本次修改的运算,并再次校验,此时由于在高并发的数据修改过程中,存储服务端的当前版本会不断更新,从而导致高并发下的修改冲突率飙升,使得业务方重新运算修改的操作频繁执行,极大降低了高并发修改存储数据的性能。
发明内容
本发明实施例提供了一种基于存储服务的数据修改方法、装置和存储服务器,在保证基于存储服务的数据修改准确性的基础上,提高存储服务上数据修改的高并发性能。
第一方面,本发明实施例提供了一种基于存储服务的数据修改方法,应用于存储服务器集群上,该方法包括:
解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符;
在顺序运行每一修改运算符的过程中,将所述存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对所述待修改数据的运算结果,所述待修改数据为该修改运算符在所述存储服务器内指向的在该修改运算符的当前运行时刻下存储的数据。
第二方面,本发明实施例提供了一种基于存储服务的数据修改装置,应用于存储服务器集群上,该装置包括:
运算符解析模块,用于解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符;
数据修改模块,用于在顺序运行每一修改运算符的过程中,将所述存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对所述待修改数据的运算结果,所述待修改数据为该修改运算符在所述存储服务器内指向的在该修改运算符的当前运行时刻下存储的数据。
第三方面,本发明实施例提供了一种存储服务器,该存储服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的基于存储服务的数据修改方法。
第四方面,本发明实施例提供了一种基于存储服务的数据修改系统,该系统包括:至少一个业务客户端、业务服务器以及上述第三方面中所述的存储服务器;其中,
所述业务服务器根据不同业务方所处的业务客户端上并发的数据修改操作,分别生成面向存储服务器的数据修改请求,并将各个所述数据修改请求并发上报给所述存储服务器。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的基于存储服务的数据修改方法。
本发明实施例提供的一种基于存储服务的数据修改方法、装置和存储服务器,通过解析出面向存储服务器并发上报的每一数据修改请求中携带的修改运算符,以使存储服务器集群能够获取高并发下的各个数据修改委托,进而由存储服务器集群顺序运行每一修改运算符,直接将存储服务器内该修改运算符指向的在该修改运算符的当前运行时刻下存储的待修改数据更新为该修改运算符对待修改数据的运算结果,从而通过顺序运行每一修改运算符,避免高并发下针对同一存储数据的修改冲突,实现存储服务在高并发下的数据准确修改,同时直接在存储服务器集群上运行每一修改运算符,避免在业务服务端上运行修改运算符来更新存储服务上的数据时业务服务端与存储服务器集群之间在高并发下的数据修改交互,从而在保证基于存储服务的数据修改准确性的基础上,提高存储服务器上数据修改的高并发性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1A为本发明实施例一提供的一种基于存储服务的数据修改方法的流程图;
图1B为本发明实施例一提供的基于存储服务的数据修改过程的原理示意图;
图2A为本发明实施例二提供的一种基于存储服务的数据修改方法的流程图;
图2B为本发明实施例二提供的基于存储服务的数据修改过程的原理示意图;
图3为本发明实施例三提供的一种基于存储服务的数据修改系统的原理架构图;
图4为本发明实施例四提供的一种基于存储服务的数据修改装置的结构示意图;
图5为本发明实施例五提供的一种存储服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1A为本发明实施例一提供的一种基于存储服务的数据修改方法的流程图,本实施例可适用于任一种对存储服务上数据进行高并发修改的情况中。本实施例提供的基于存储服务的数据修改方法可以由本发明实施例提供的基于存储服务的数据修改装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的存储服务器中,该存储服务器可以是专门负责数据存储的存储服务器集群。
具体的,参考图1A,该方法可以包括如下步骤:
S110,解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符。
具体的,常见的存储服务通常配置在存储服务器集群上,在存储服务器集群上通常存储互联网中在不同业务应用下上传的各类资源数据,通过存储服务为每一业务方均提供有存储数据的查询、修改和删除等功能,以供业务方在后续业务操作过程中能够正常使用该存储数据;例如,在支付扣款的场景下,存储服务器上会对应存储有各个业务账号下的款项余额,某一业务方如果在客户端选择支付一定金额,则会向对应的业务服务端发起支付请求,该业务服务端会从存储服务器集群上读取出该业务方的业务账号在当前时刻下的余额,同时业务服务端会根据支付请求确定出本次针对该业务账号的余额修改操作为扣款操作,因此业务服务端会直接对所读取出的余额扣除对应支付金额,并将扣除后的余额返回给存储服务器集群进行余额修改。此时,现有的存储服务不负责存储数据修改的运算过程,由各个业务服务端来读取本次需要修改的存储数据,进行相应的修改运算,进而将运算结果返回给存储服务器进行修改,因此在高并发修改存储数据的场景下,由于多个业务方并发对同一存储数据进行修改时,会存在修改冲突而导致数据修改出错的问题,因此为了避免存储数据在高并发修改下的出错,通常会采用对存储数据加互斥锁或者乐观锁的方式来保证业务方对存储数据并发修改的正确性,而在高并发数据修改的场景下采用互斥锁和乐观锁的方式,均在一定程度上增加了业务服务端与存储服务器集群之间的数据操作交互,从而降低了存储服务上数据修改的高并发性能。
因此,为了在保证存储服务上数据修改的准确性的基础上,进一步提高存储服务上数据修改的高并发性能,本实施例对于存储服务器集群上所配置的存储服务功能进行改造,除了提供业务方对存储数据的查询、修改和删除等功能之外,还会提供一种针对存储数据修改下通用的修改运算委托机制,使得存储服务器可以接收业务服务端对于存储数据修改时执行的修改运算委托,也就是业务服务端在接收到业务方的数据修改请求后,不再从存储服务器中读取本次修改的存储数据进行修改运算,而是直接在数据修改请求中增加本次修改对应的修改运算符,并将携带有修改运算符的数据修改请求发送给存储服务器集群,由存储服务器集群直接运行高并发下的各个修改运算符,来对相应存储数据进行修改,保证数据修改的准确性,同时避免数据修改过程中业务服务端在存储服务上高并发的读取写入交互。
需要说明的是,本实施例中的修改运算符为能够明确指示存储数据在本次修改下所需要执行的具体运算操作,例如在支付扣款的场景下,修改运算符可以为原有的余额减去本次支付的金额。
可选的,如图1B所示,本实施例对于业务服务端面向存储服务器并发上报的多个数据修改请求,首先会接收业务服务端面向存储服务器并发上报的数据修改请求。具体的,多个业务方在同一时刻下执行相应的数据修改操作,从而并发对存储服务器上的某个存储数据进行修改时,会并发生成多个数据修改请求发送给业务服务端,该业务服务端将每一业务方的数据修改请求,对应分配给其上配置的各个逻辑服务,由每一逻辑服务分析出所分配的数据修改请求对应的业务方需要操作执行的修改运算符,并将该修改运算符添加到所分配的数据修改请求中,进而业务服务端上的每一逻辑服务均会将添加有修改操作符的数据修改请求对应转发给存储服务器集群,此时存储服务器集群会接收到业务服务端面向存储服务器并发上报的多个数据修改请求,每一数据修改请求中均携带有对应的修改运算符。
进一步的,存储服务器集群在接收到业务服务端面向存储服务器并发上报的多个数据修改请求之后,首先会对各个数据修改请求进行解析,确定出每一数据修改请求中携带的修改运算符以及该数据修改请求本次指向修改的存储数据,以便后续通过执行各个修改运算符对该存储数据进行相应的修改。
S120,在顺序运行每一修改运算符的过程中,将存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对待修改数据的运算结果。
具体的,为了避免存储服务器在高并发下对同一存储数据修改时的修改冲突,本实施例会选择顺序运行各个修改运算符,此时首先会通过分析每一数据修改请求所在业务方对于数据修改的优先级,来对并发上报的每一数据修改请求中携带的修改运算符进行排序;同时,存储服务器集群在顺序运行每一修改运算符的过程中,由于多个修改运算符可能是对于同一存储数据进行修改,例如多个用户同时打赏同一主播时,均是对该主播的总打赏金额进行修改,此时顺序运行每一修改运算符时,均会首先在存储服务器内查找出在该修改运算符的当前运行时刻下存储的,且该修改运算符指向修改的数据,作为本次修改的待修改数据,也就是本实施例中的待修改数据为该修改运算符在存储服务器内指向的在该修改运算符的当前运行时刻下存储的数据;然后,采用该修改运算符对待修改数据进行相应的运算,进而将存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对待修改数据的运算结果,从而完成该修改运算符下的一次数据修改,按照上述步骤顺序运行每一修改运算符,此时如果各个修改运算符均是对同一存储数据进行修改,那么顺序运行每一修改运算符时,当前运行的修改运算符指向的待修改数据则为上一次运行的修改运算符运行后在存储服务器内更新的运算结果,进而对该存储数据不断进行修改,从而保证存储服务上数据修改的准确性;同时,由于直接在存储服务器集群上执行数据修改操作,避免在业务服务端上运行修改运算符来更新存储服务器上的数据时业务服务端与存储服务器集群之间在高并发下的数据修改交互,从而提高存储服务上数据修改的高并发性能。
需要说明的是,为了保证修改运算符的运行完整性,避免运行中途失败时出现某个存储数据已经进行少量修改,而导致存储数据出错的问题,本实施例中每一修改运算符的运行过程可以为一组数据库事务的操作过程,以确保修改运算符的运行时存储数据的一致性。
以主播S同时被粉丝A和粉丝B点击加关注为例,对主播S的关注量的修改过程进行说明:业务服务端首先会并发收到粉丝A和粉丝B对于主播S的关注请求(本实施例中的数据修改请求),并将粉丝A的关注请求A分配给逻辑服务1,将粉丝B的关注请求B分配给逻辑服务2,此时逻辑服务1和逻辑服务2确定对应的修改运算符均为对主播S的关注量进行字段+1计数,并添加至关注请求A和关注请求B中,由逻辑服务1和逻辑服务2将携带有修改运算符的关注请求A和关注请求B转发给存储服务器集群,发起对应的修改运算委托,此时存储服务器集群分别解析出关注请求A和关注请求B中携带的修改运算符为对主播S的关注量进行字段+1计数,此时首先运行关注请求A中的修改运算符,假设主播S的原有关注量为100,则关注请求A中的修改运算符运行完成后,主播S的关注量修改为101,然后再次运行关注请求B中的修改运算符,此时在关注请求B中的修改运算符的当前运行时刻下待修改的主播S的关注量为101,在关注请求B中的修改运算符运行完成后,主播S的关注量修改为102,从而保证主播S的关注量的准确修改。
本实施例提供的技术方案,通过解析出面向存储服务器并发上报的每一数据修改请求中携带的修改运算符,以使存储服务器集群能够获取高并发下的各个数据修改委托,进而由存储服务器集群顺序运行每一修改运算符,直接将存储服务器内该修改运算符指向的在该修改运算符的当前运行时刻下存储的待修改数据更新为该修改运算符对待修改数据的运算结果,从而通过顺序运行每一修改运算符,避免高并发下针对同一存储数据的修改冲突,实现存储服务器在高并发下的数据准确修改,同时直接在存储服务器集群上运行每一修改运算符,避免在业务服务端上运行修改运算符来更新存储服务器上的数据时业务服务端与存储服务器集群之间在高并发下的数据修改交互,从而在保证基于存储服务的数据修改准确性的基础上,提高存储服务上数据修改的高并发性能。
实施例二
图2A为本发明实施例二提供的一种基于存储服务的数据修改方法的流程图,图2B为本发明实施例二提供的基于存储服务的数据修改过程的原理示意图。本实施例是在上述实施例的基础上进行优化。具体的,如图2A所示,本实施例主要对于顺序运行每一修改运算符的具体过程进行详细的解释说明。
可选的,如图2A所示,本实施例中可以包括如下步骤:
S210,解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符。
S220,随机生成修改运算符的运行顺序;或者,按照数据修改请求的修改优先级生成修改运算符的运行顺序。
可选的,本实施例在解析出面向存储服务器并发上报的每一数据修改请求中携带的修改运算符之后,首先会分析各个修改运算符在所对应的数据修改场景下,对于存储数据在高并发下的修改顺序是否有要求,如果有要求,则判断高并发下的各个数据修改请求的修改优先级,按照该修改优先级对应生成各个修改运算符的运行顺序;如果没有要求,则随机生成各个修改运算符的运行顺序。例如,在多个用户同时对同一账号转账的场景下,多个用户并发对该账号余额进行修改,此时先运行用户A转账时的修改运算符,还是先运行用户B转账时的修改运算符,都不会对最终修改后的账号余额产生影响,因此对于各个用户对应转账时的修改运算符的运行顺序没有要求,可以随机生成各个修改运算符的运行顺序。
S230,在顺序运行每一修改运算符的过程中,在存储服务器内读取该修改运算符指向的在该修改运算符的当前运行时刻下存储的待修改数据。
可选的,在按照各个修改运算符的运行顺序依次运行每一修改运算符的过程中,首先需要判断该修改运算符在存储服务器内指向的本次需要修改的待修改数据,进而从存储服务器内读取出该待修改数据在该修改运算符的当前运行时刻下的数据字段值,后续在顺序运行每一修改运算符的过程中,不断对待修改数据在该修改运算符的当前运行时刻下的数据字段值进行运算,从而避免多个修改运算符对同一存储数据的修改冲突,保证存储服务上数据修改的准确性。
S240,采用该修改运算符对待修改数据进行修改运算,得到对应的运算结果。
可选的,在顺序运行每一修改运算符的过程中,如果在存储服务器内读取出该修改运算符指向的在该修改运算符的当前运行时刻下存储的待修改数据,则采用该修改运算符对当前运行时刻下读取出的待修改数据进行对应的修改运算,得到对应的运算结果,该运算结果则为该修改运算符本次修改后的数据值,保证存储服务上数据修改的准确性。
S250,在存储服务器内,将待修改数据更新为对应的运算结果。
可选的,在顺序运行每一修改运算符的过程中,如果得到该修改运算符对应的运算结果,则直接在存储服务器内将待修改数据更新为对应的运算结果,以便后续运行的修改运算符也对该待修改数据进行修改时,能够直接读取到本次修改的运算结果来进行再次修改,从而避免多个修改运算符对同一存储数据的修改冲突,保证存储服务上数据修改的准确性。
S260,将该修改运算符在存储服务器内的更新结果反馈给对应的业务服务端。
可选的,在顺序运行每一修改运算符的过程中,将该修改运算符在存储服务器内指向的待修改数据更新为对应的运算结果之后,均会向对应的业务服务端反馈该修改运算符在存储服务器内的更新结果,并由业务服务端反馈给对应的业务方,以通知业务方本次数据修改成功,例如支付扣款的场景下,在将存储服务器内的账户余额扣除后,会向支付用户反馈支付成功的消息。
本实施例提供的技术方案,通过解析出面向存储服务器并发上报的每一数据修改请求中携带的修改运算符,以使存储服务器集群能够获取高并发下的各个数据修改委托,进而由存储服务器集群顺序运行每一修改运算符,直接将存储服务器内该修改运算符指向的在该修改运算符的当前运行时刻下存储的待修改数据更新为该修改运算符对待修改数据的运算结果,从而通过顺序运行每一修改运算符,避免高并发下针对同一存储数据的修改冲突,实现存储服务在高并发下的数据准确修改,同时直接在存储服务器集群上运行每一修改运算符,避免在业务服务端上运行修改运算符来更新存储服务器上的数据时业务服务端与存储服务器集群之间在高并发下的数据修改交互,从而在保证基于存储服务的数据修改准确性的基础上,提高存储服务上数据修改的高并发性能。
实施例三
图3为本发明实施例三提供的一种基于存储服务的数据修改系统的原理架构图,本实施例可适用于任一种对存储服务上数据进行高并发修改的情况中。具体的,参照图3,该基于存储服务的数据修改系统可以包括:至少一个业务客户端310、业务服务器320以及存储服务器330。
其中,业务服务器320根据不同业务方所处的业务客户端310上并发的数据修改操作,分别生成面向存储服务器的数据修改请求,并将各个数据修改请求并发上报给存储服务器330;存储服务器330可以适用于本发明任意实施例提供的基于存储服务的数据修改方法,具体执行过程参见本发明任意实施例中的基于存储服务的数据修改方法,具备相应的功能,在此不作详细介绍。
本实施例提供的技术方案,将业务服务器面向存储服务器上的数据修改运算操作委托给存储服务器来执行,在存储服务器上顺序运行每一修改运算符,避免高并发下针对同一存储数据的修改冲突,实现存储服务在高并发下的数据准确修改,同时直接在存储服务器集群上运行每一修改运算符,避免在业务服务端上运行修改运算符来更新存储服务器上的数据时业务服务端与存储服务器集群之间在高并发下的数据修改交互,从而在保证基于存储服务的数据修改准确性的基础上,提高存储服务上数据修改的高并发性能。
实施例四
图4为本发明实施例四提供的一种基于存储服务的数据修改装置的结构示意图,具体的,如图4所示,该装置应用于存储服务器集群上,可以包括:
运算符解析模块410,用于解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符;
数据修改模块420,用于在顺序运行每一修改运算符的过程中,将存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对待修改数据的运算结果,该待修改数据为该修改运算符在存储服务器内指向的在该修改运算符的当前运行时刻下存储的数据。
本实施例提供的技术方案,通过解析出面向存储服务器并发上报的每一数据修改请求中携带的修改运算符,以使存储服务器集群能够获取高并发下的各个数据修改委托,进而由存储服务器集群顺序运行每一修改运算符,直接将存储服务器内该修改运算符指向的在该修改运算符的当前运行时刻下存储的待修改数据更新为该修改运算符对待修改数据的运算结果,从而通过顺序运行每一修改运算符,避免高并发下针对同一存储数据的修改冲突,实现存储服务在高并发下的数据准确修改,同时直接在存储服务器集群上运行每一修改运算符,避免在业务服务端上运行修改运算符来更新存储服务器上的数据时业务服务端与存储服务器集群之间在高并发下的数据修改交互,从而在保证基于存储服务的数据修改准确性的基础上,提高存储服务上数据修改的高并发性能。
本实施例提供的基于存储服务的数据修改装置可适用于上述任意实施例提供的基于存储服务的数据修改方法,具备相应的功能和有益效果。
实施例五
图5为本发明实施例五提供的一种存储服务器的结构示意图,如图5所示,该存储服务器包括处理器50、存储装置51和通信装置52;存储服务器中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;存储服务器中的处理器50、存储装置51和通信装置52可以通过总线或其他方式连接,图5中以通过总线连接为例。
本实施例提供的一种存储服务器可用于执行上述任意实施例提供的基于存储服务的数据修改方法,具备相应的功能和有益效果。
实施例六
本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中的基于存储服务的数据修改方法。该方法具体可以包括:
解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符;
在顺序运行每一修改运算符的过程中,将存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对待修改数据的运算结果,该待修改数据为该修改运算符在存储服务器内指向的在该修改运算符的当前运行时刻下存储的数据。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于存储服务的数据修改方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于存储服务的数据修改装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于存储服务的数据修改方法,其特征在于,应用于存储服务器集群上,包括:
解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符;
在顺序运行每一修改运算符的过程中,将所述存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对所述待修改数据的运算结果,所述待修改数据为该修改运算符在所述存储服务器内指向的在该修改运算符的当前运行时刻下存储的数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对所述待修改数据的运算结果,包括:
在所述存储服务器内读取该修改运算符指向的在该修改运算符的当前运行时刻下存储的待修改数据;
采用该修改运算符对所述待修改数据进行修改运算,得到对应的运算结果;
在所述存储服务器内,将所述待修改数据更新为对应的运算结果。
3.根据权利要求1所述的方法,其特征在于,在顺序运行每一修改运算符之前,还包括:
随机生成所述修改运算符的运行顺序;或者,
按照所述数据修改请求的修改优先级生成所述修改运算符的运行顺序。
4.根据权利要求1-3任一项所述的方法,其特征在于,每一修改运算符的运行过程为一组数据库事务的操作过程。
5.根据权利要求1-3任一项所述的方法,其特征在于,在解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符之前,还包括:
接收业务服务端面向存储服务器并发上报的数据修改请求。
6.根据权利要求1-3任一项所述的方法,其特征在于,在将所述存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对所述待修改数据的运算结果之后,还包括:
将该修改运算符在所述存储服务器内的更新结果反馈给对应的业务服务端。
7.一种基于存储服务的数据修改装置,其特征在于,应用于存储服务器集群上,包括:
运算符解析模块,用于解析面向存储服务器并发上报的每一数据修改请求中携带的修改运算符;
数据修改模块,用于在顺序运行每一修改运算符的过程中,将所述存储服务器内该修改运算符指向的待修改数据更新为该修改运算符对所述待修改数据的运算结果,所述待修改数据为该修改运算符在所述存储服务器内指向的在该修改运算符的当前运行时刻下存储的数据。
8.一种存储服务器,其特征在于,所述存储服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的基于存储服务的数据修改方法。
9.一种基于存储服务的数据修改系统,其特征在于,包括:至少一个业务客户端、业务服务器以及权利要求8所述的存储服务器;其中,
所述业务服务器根据不同业务方所处的业务客户端上并发的数据修改操作,分别生成面向存储服务器的数据修改请求,并将各个所述数据修改请求并发上报给所述存储服务器。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的基于存储服务的数据修改方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010403324.5A CN111598560A (zh) | 2020-05-13 | 2020-05-13 | 基于存储服务的数据修改方法、装置和存储服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010403324.5A CN111598560A (zh) | 2020-05-13 | 2020-05-13 | 基于存储服务的数据修改方法、装置和存储服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111598560A true CN111598560A (zh) | 2020-08-28 |
Family
ID=72192215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010403324.5A Pending CN111598560A (zh) | 2020-05-13 | 2020-05-13 | 基于存储服务的数据修改方法、装置和存储服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111598560A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468615A (zh) * | 2014-12-25 | 2015-03-25 | 西安电子科技大学 | 基于数据共享的文件访问和修改权限控制方法 |
CN110019292A (zh) * | 2017-09-06 | 2019-07-16 | 华为技术有限公司 | 一种数据的查询方法及装置 |
CN110716951A (zh) * | 2019-09-23 | 2020-01-21 | 北京明略软件系统有限公司 | 方便配置的标签配置方法、装置、设备及存储介质 |
CN110928887A (zh) * | 2018-09-19 | 2020-03-27 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
-
2020
- 2020-05-13 CN CN202010403324.5A patent/CN111598560A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468615A (zh) * | 2014-12-25 | 2015-03-25 | 西安电子科技大学 | 基于数据共享的文件访问和修改权限控制方法 |
CN110019292A (zh) * | 2017-09-06 | 2019-07-16 | 华为技术有限公司 | 一种数据的查询方法及装置 |
CN110928887A (zh) * | 2018-09-19 | 2020-03-27 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN110716951A (zh) * | 2019-09-23 | 2020-01-21 | 北京明略软件系统有限公司 | 方便配置的标签配置方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277639B (zh) | 一种保持数据一致性的方法和装置 | |
CN111414381B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111385294B (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
CN111949856B (zh) | 基于web的对象存储查询方法及装置 | |
CN111046245A (zh) | 多源异构数据源融合计算方法、系统、设备和存储介质 | |
CN113760242A (zh) | 一种数据处理方法、装置、服务器和介质 | |
WO2024021808A1 (zh) | 数据查询请求的处理方法、装置、设备及存储介质 | |
CN110515979B (zh) | 数据查询方法、装置、设备和存储介质 | |
CN111966682A (zh) | 一种白名单防护匹配方法、系统、终端及存储介质 | |
CN111143383A (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
CN111598560A (zh) | 基于存储服务的数据修改方法、装置和存储服务器 | |
CN114070820B (zh) | 一种域名重定向方法、装置、介质及电子设备 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
CN112597036B (zh) | 一种通用测试挡板方法及装置 | |
CN113868249A (zh) | 一种数据存储方法、装置、计算机设备以及存储介质 | |
CN111240810B (zh) | 一种事务管理方法、装置、设备和存储介质 | |
CN114205354A (zh) | 事件管理系统、事件管理方法、服务器及存储介质 | |
CN113268483A (zh) | 请求处理方法和装置、电子设备和存储介质 | |
CN112527900A (zh) | 一种数据库读多副本一致性的方法、装置、设备及介质 | |
CN113254399A (zh) | 日志查询方法、装置、电子设备及介质 | |
CN112667949A (zh) | 用于前端网关的数据处理方法及装置 | |
CN117635081B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN117520442A (zh) | 数据同步方法、装置、计算机程序产品、设备及存储介质 | |
CN110046192B (zh) | 请求信息的序号生成系统和方法 | |
CN113886439A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200828 |