CN113034254A - 数据处理方法、装置和电子设备 - Google Patents
数据处理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113034254A CN113034254A CN202110299716.6A CN202110299716A CN113034254A CN 113034254 A CN113034254 A CN 113034254A CN 202110299716 A CN202110299716 A CN 202110299716A CN 113034254 A CN113034254 A CN 113034254A
- Authority
- CN
- China
- Prior art keywords
- data
- operation record
- state
- data operation
- target
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000008859 change Effects 0.000 claims description 64
- 238000012545 processing Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009467 reduction Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims 2
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/125—Finance or payroll
-
- 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/23—Updating
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了数据处理方法、装置和电子设备。该方法的一具体实施方式包括:响应于接收到针对目标数据的更新请求,确定目标数据的数据状态;基于目标数据的数据状态,对目标数据进行更新,生成第一数据操作记录,其中,一个更新请求对应一条第一数据操作记录,第一数据操作记录包括批次号;按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。该实施方式保证了数据操作记录的数额连续性。
Description
技术领域
本公开实施例涉及计算机技术领域,具体涉及数据处理方法、装置和电子设备。
背景技术
对于账务系统,资金从账户的转入转出都需要进行记账处理,一个记账处理主要包含记录记账凭证和账户余额更新。为保证账户记账的准确性,不被其他并发请求影响,每次记账操作都需要先锁定账户,进行一系列的检查,然后落记账凭证并更新账户余额,最后释放锁。因此对于一个账户,同一时刻只能有一个线程进行记账,即对同一个账户的操作是串行的,这就限制了账户的并发能力。
发明内容
提供该公开内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该公开内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开实施例提供了一种数据处理方法、装置和电子设备,保证了数据操作记录的数额连续性,减少了主数据的更新次数。
第一方面,本公开实施例提供了一种数据处理方法,包括:响应于接收到针对目标数据的更新请求,确定目标数据的数据状态;基于目标数据的数据状态,对目标数据进行更新,生成第一数据操作记录,其中,一个更新请求对应一条第一数据操作记录,第一数据操作记录包括批次号;按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。
第二方面,本公开实施例提供了一种数据处理装置,包括:确定单元,用于响应于接收到针对目标数据的更新请求,确定目标数据的数据状态;生成单元,用于基于目标数据的数据状态,对目标数据进行更新,生成第一数据操作记录,其中,一个更新请求对应一条第一数据操作记录,第一数据操作记录包括批次号;更新单元,用于按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。
第三方面,本公开实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据处理方法。
第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据处理方法的步骤。
本公开实施例提供的数据处理方法、装置和电子设备,通过响应于接收到针对目标数据的更新请求,确定目标数据的数据状态;之后,基于上述目标数据的数据状态,对上述目标数据进行更新,生成第一数据操作记录;最后,按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。这种数据处理方式保证了数据操作记录的数额连续性,减少了主数据的更新次数。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本公开的各个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的数据处理方法的一个实施例的流程图;
图3是根据本公开的数据处理方法的又一个实施例的流程图;
图4是根据本公开的数据处理方法的应用场景的一个示意图;
图5是根据本公开的数据处理方法的再一个实施例的流程图;
图6是根据本公开的数据处理方法中生成第二数据操作记录的一个实施例的流程图;
图7是根据本公开的数据处理方法中主数据、子数据、第一数据操作记录和第二数据操作记录之间的对应关系的一个示意图;
图8是根据本公开的数据处理装置的一个实施例的结构示意图;
图9是适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1示出了可以应用本公开的数据处理方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备1011、1012、1013,网络102和服务器103。网络102用以在终端设备1011、1012、1013和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1011、1012、1013通过网络102与服务器103交互,以发送或接收消息等,例如,用户可以利用终端设备1011、1012、1013向服务器103发送针对目标数据的更新请求。终端设备1011、1012、1013上可以安装有各种通讯客户端应用,例如购物类应用、网上银行应用、即时通讯软件等。
终端设备1011、1012、1013可以是硬件,也可以是软件。当终端设备1011、1012、1013为硬件时,可以是支持信息交互的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机等。当终端设备1011、1012、1013为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器103可以是提供各种服务的服务器。例如,可以响应于接收到终端设备1011、1012、1013针对目标数据的更新请求,确定上述目标数据的数据状态;之后,可以基于上述目标数据的数据状态,对上述目标数据进行更新,生成第一数据操作记录;最后,可以按批次对相应的第一数据操作记录进行回放,生成上述目标数据的第二数据操作记录,对上述目标数据的总数额进行更新。
需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
还需要说明的是,本公开实施例所提供的数据处理方法通常由服务器103执行,则数据处理装置通常设置于服务器103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本公开的数据处理方法的一个实施例的流程200。该数据处理方法,包括以下步骤:
步骤201,响应于接收到针对目标数据的更新请求,确定目标数据的数据状态。
在本实施例中,数据处理方法的执行主体(例如图1所示的服务器)可以确定是否接收到针对目标数据的更新请求。上述目标数据可以为目标账户中的数据,上述目标账户通常指的是预先设置的、需要进行资金监控的账户。上述更新请求可以包括数据变化值,可以理解为动账金额,即资金的发生额,上述更新请求也可以称为动账请求,通常是在上述目标数据的数额发生变动(数据增加或数据减少)时,上述执行主体可以接收到针对上述目标数据的更新请求。上述数据变化值可以为正数或者负数,若数据变化值为正数,则可以表征数据增加,若数据变化值为负数,则可以表征数据减少。
若接收到针对上述目标数据的更新请求,上述执行主体可以确定上述目标数据的数据状态。上述目标数据的数据状态可以包括第一状态和第三状态。上述第一状态也可以称为热点状态(hot status),上述第三状态也可以称为非热点状态(normal status)。若数据状态为热点状态,则此时的目标数据为热点数据,也可以理解成目标数据所指示的账户为热点账户。若数据状态为非热点状态,则此时的目标数据为非热点数据,也可以理解成目标数据所指示的账户为普通账户。
热点账户通常是指在预设时段内账户的交易次数超过预设交易次数阈值的账户,例如,在1秒内账户的交易次数超过10次的账户。普通账户即为除热点账户之外的其他账户,即在预设时段内账户的交易次数少于预设交易次数阈值的账户。
在这里,上述目标数据可以对应有数据标识和总数额。若上述目标数据为热点数据,上述目标数据可以拆分成主数据和多个子数据。主数据和多个子数据的数额之和通常为上述目标数据的总数额,因此,上述目标数据的主数据的数额通常为上述目标数据的总数额与所有子数据的数额的差值。
步骤202,基于目标数据的数据状态,对目标数据进行更新,生成第一数据操作记录。
在本实施例中,上述执行主体可以基于上述目标数据的数据状态,对上述目标数据进行更新,生成第一数据操作记录。上述执行主体可以利用接收到的更新请求中的数据变化值,对上述目标数据进行更新,更新之后的数额可以为数据变化值与上述目标数据的数额之和。若上述更新请求中的数据变化值为正数,可以表征对上述目标数据进行数据增加。若上述更新请求中的数据变化值为负数,可以表征对上述目标数据进行数据减少。作为示例,若上述目标数据的总额为1000元,数据变化值为100元,则更新之后的数额为1100元。若上述目标数据的总额为1000元,数据变化值为-50元,则更新之后的数额为950元。
在这里,一个更新请求可以对应一条第一数据操作记录。上述第一数据操作记录可以称为热点记账明细,热点记账明细记录了对更新请求处理前后的数据变化情况。上述第一数据操作记录可以包括批次号。可以利用批次号,将所生成的第一数据操作记录划分成不同的批次。若划分粒度为秒级,则同一秒生成的所有第一数据操作记录为同一批次。作为示例,批次号20201208171052可以表征2020年12月8号17点10分52秒的这一批次。
上述第一数据操作记录还可以包括记录标识(Hot Log ID)。
步骤203,按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。
在本实施例中,上述执行主体可以按批次对相应的第一数据操作记录进行回放,生成上述目标数据的第二数据操作记录,对上述目标数据的总数额进行更新。上述执行主体可以按照更新时间由前到后的顺序获取未回放的一批次第一数据操作记录,之后对获取到的该批次第一数据操作记录进行回放。在这里,对该批次第一数据操作记录进行回放通常是按照第一数据操作记录添加到数据库中的时间由前到后的顺序进行回放,回放可以理解成对提取出的该批次第一数据操作记录进行计算或者加工的过程,利用计算结果生成上述目标数据的第二数据操作记录。
在这里,上述目标数据的总数额也可以称为影子数额。影子数额通常是指上述目标数据的总数额的一个快照。由于上述目标数据通常为热点数据,热点数据的数据变动是很频繁的,因此,不可能实时对上述目标数据的总数额进行更新,而是按照批次对上述目标数据的总数额进行更新,即对一批次的第一数据操作记录进行计算,得到这一批次的第一数据操作记录所对应的时间段内上述目标数据的数据变化值,利用数据变化值与上述目标数据的总数额的相加结果对上述目标数据的总数额进行更新。将该更新结果作为下一次更新之前上述目标数据的影子数额。
本公开的上述实施例提供的方法通过将目标数据拆分成主数据和多个子数据,在数据更新时生成第一数据操作记录,对用户不可见,后续利用第一数据操作记录回放,重新生成新的第二数据操作记录,同时主数据维护影子数额,作为回放操作记录时的期初数额,保证了主数据的数额连续性。为了提高第一数据操作记录的回放效率,采用批量回放,一次回放整个批次,只更新一次影子数额,极大地减少了主数据的更新次数。
进一步参考图3,其示出了数据处理方法的又一个实施例的流程300。该数据处理方法的流程300,包括以下步骤:
步骤301,响应于接收到针对目标数据的更新请求,确定目标数据的数据状态。
在本实施例中,步骤301可以按照与步骤201类似的方式执行,在此不再赘述。
步骤302,若目标数据的数据状态为第一状态,从目标数据的子数据集合中选取子数据。
在本实施例中,若确定出上述目标数据的数据状态为第一状态,则数据处理方法的执行主体(例如图1所示的服务器)可以从上述目标数据的子数据集合中选取子数据。上述第一状态也可以称为热点状态。
作为一种示例,上述执行主体可以从上述目标数据的子数据集合中随机选取子数据。
作为另一种示例,上述子数据集合中的各个子数据可以对应有转出权重和转入权重。若上述更新请求中的数据变化值表征数据增加,则可以针对上述目标数据进行数据增加,此时,上述执行主体可以基于子数据的转入权重,从上述目标数据的子数据集合中选取子数据,例如,选取转入权重最大的子数据。若上述更新请求中的数据变化值表征数据减少,则可以针对上述目标数据进行数据减少,此时,上述执行主体可以基于子数据的转出权重,从上述目标数据的子数据集合中选取子数据,例如,选取转出权重最大的子数据。
在这里,若上述目标数据为热点数据,通过选取子数据进行数据更新的这种方式可以将原来对一个数据的请求分散到多个子数据中,从而分散了主数据的热点。
步骤303,对选取出的子数据进行更新,生成第一数据操作记录。
在本实施例中,上述执行主体可以对选取出的子数据进行更新,生成第一数据操作记录。具体地,上述执行主体可以利用接收到的更新请求中的数据变化值,对选取出的子数据进行更新,该子数据更新后的数额可以为数据变化值与该子数据的数额之和。作为示例,若子数据的数额为500元,数据变化值为-20元,则子数据更新后的数额为480元。
在这里,一个更新请求可以对应一条第一数据操作记录,第一数据操作记录记录了对更新请求处理前后的数据变化情况。上述第一数据操作记录可以包括批次号。可以利用批次号,将所生成的第一数据操作记录划分成不同的批次。若划分粒度为秒级,则同一秒生成的所有第一数据操作记录为同一批次。
步骤304,按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。
在本实施例中,步骤304可以按照与步骤203类似的方式执行,在此不再赘述。
从图3中可以看出,与图2对应的实施例相比,本实施例中的数据处理方法的流程300体现了若目标数据的数据状态为热点状态,从目标数据的子数据集合中选取子数据,对选取出的子数据进行更新的步骤。由此,本实施例描述的方案可以在目标数据为热点数据时,选取热点数据的子数据进行更新,从而减少了对主数据的更新次数,分散了主数据的热点,同时,也避免了对主数据的长时间锁定。
在一些可选的实现方式中,更新请求中的数据变化值可以表征数据减少,此时,可以针对选取出的子数据进行数据减少。上述执行主体可以通过如下方式对选取出的子数据进行更新:上述执行主体可以确定选取出的子数据中的数额是否大于上述更新请求中的数据变化值的绝对值;若选取出的子数据中的数额大于上述更新请求中的数据变化值的绝对值,则上述执行主体可以对上述选取出的子数据中的数额进行更新,即上述执行主体可以将子数据中的数额与上述数据变化值相加,利用相加结果对子数据中的数额进行更新。通常来说,上述执行主体在对选取出的子数据进行更新之前,会锁定选取出的子数据,在对选取出的子数据的数额更新之后,会对锁定的子数据解锁。
继续参见图4,图4是根据本实施例的数据处理方法的应用场景的一个示意图。在图4的应用场景中,更新服务器接收到针对目标数据的多个更新请求401,包括请求1、请求2、请求3…请求N。更新服务器可以确定目标数据的数据状态,若数据状态为热点状态,则可以利用子数据选取策略从目标数据的子数据集合中选取子数据,在这里,选取出的子数据402包括子数据1、子数据2、子数据3…子数据M。之后,更新服务器可以对选取出的子数据402进行更新,生成第一数据操作记录,在这里,第一数据操作记录与更新请求一一对应,第一数据操作记录中包括批次号,其中,第一数据操作记录1至第一数据操作记录N/3包含的批次号为批次1,第一数据操作记录(N/3)+1至第一数据操作记录2N/3包含的批次号为批次2,第一数据操作记录(2N/3)+1至第一数据操作记录N包含的批次号为批次3。而后,更新服务器可以按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。在这里,更新服务器可以对批次1对应的第一数据操作记录1至第一数据操作记录N/3进行回放,之后,更新服务器可以对批次2对应的第一数据操作记录(N/3)+1至第一数据操作记录2N/3进行回放,而后,更新服务器可以对批次3对应的第一数据操作记录(2N/3)+1至第一数据操作记录N进行回放。
继续参考图5,其示出了数据处理方法的再一个实施例的流程500。该数据处理方法的流程500,包括以下步骤:
步骤501,响应于接收到针对目标数据的更新请求,确定目标数据的数据状态。
在本实施例中,步骤501可以按照与步骤201类似的方式执行,在此不再赘述。
步骤502,若目标数据的数据状态为第二状态,对目标数据的主数据进行更新,生成第一数据操作记录。
在本实施例中,若上述目标数据的数据状态为第二状态,则数据处理方法的执行主体(例如图1所示的服务器)可以对上述目标数据的主数据进行更新。
在这里,上述第二状态也可以称为处理状态(processing status),上述处理状态可以表征上述目标数据由第三状态(即非热点状态)转换为第一状态(即热点状态)的转换过程中所处的状态或者由上述第一状态转换为上述第三状态的转换过程中所处的状态。也就是说,若上述目标数据为普通数据,在将普通数据设置为热点数据直至上述目标数据彻底成为热点数据的这一时段内,上述目标数据的数据状态可以为第二状态。或者,若上述目标数据为热点数据,在撤销热点数据直至上述目标数据成为普通数据的这一时段内,上述目标数据的数据状态也可以为第二状态。
若上述目标数据为普通数据,在将普通数据设置成热点数据之后,通常需要将上述目标数据的主数据的数额转移至相应的子数据中(通常会转移至多个子数据中)。由于对一个事务进行处理通常会消耗较长时间,并长时间锁定主数据,阻塞正常数据处理,为了避免阻塞主数据的数据处理,每次对主数据处理完成时会释放主数据的锁,从而使得主数据能够进行正常的数据处理。但是在将主数据中的至少部分数额给某个子数据之后,其当前数额与实际数额已经不符,此时若对主数据更新,其生成的第一数据操作记录也是不连续的,因此也需要进行回放处理。所以,在生成热点数据的同时,主数据进行更新,同时,也需要生成第一数据操作记录。由于此时为特殊的更新方式,即上述目标数据的主数据更新,生成第一数据操作记录,因此加入处理状态,等主数据彻底设置为热点数据之后,才将数据状态转换为热点状态。
若上述目标数据为热点数据,在将热点数据撤销时,通常需要将上述目标数据的子数据的所有数额转移至上述目标数据的主数据才能将上述目标数据的数据状态设置为非热点状态。如果一个事务处理完毕会消耗较长时间,阻塞正常数据处理,此时,通常采用每个子数据单独处理,并撤销该子数据。随着子数据数量减少,若仍使用子数据更新,更新成功率会大大降低(缓存未实时刷新,会路由到已撤销的子数据)。因此会先撤销一部分子数据,待主数据获得一定的数额之后,再撤销主数据,期间可以使用主数据更新,同时为保证数额连续性,仍将上述目标数据的数据状态设置为处理状态,对上述目标数据的主数据更新,生成第一数据操作记录,等完全处理完毕,将上述目标数据的数据状态转换为非热点状态。
在这里,一个更新请求可以对应一条第一数据操作记录,第一数据操作记录记录了对更新请求处理前后的数据变化情况。上述第一数据操作记录可以包括批次号。可以利用批次号,将所生成的第一数据操作记录划分成不同的批次。若划分粒度为秒级,则同一秒生成的所有第一数据操作记录为同一批次。
步骤503,按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。
在本实施例中,步骤503可以按照与步骤203类似的方式执行,在此不再赘述。
从图5中可以看出,与图2对应的实施例相比,本实施例中的数据处理方法的流程500体现了若目标数据的数据状态为处理状态,对上述目标数据的主数据进行更新的步骤。由此,本实施例描述的方案可以在生成热点数据和撤销热点数据阶段既能够不影响正常数据处理的同时,也能够生成数额连续的数据操作记录,保障特殊阶段的数据更新准确性。
进一步参考图6,其示出了数据处理方法中生成第二数据操作记录的一个实施例的流程600。该生成第二数据操作记录的流程600,包括以下步骤:
步骤601,获取待处理的批次号。
在本实施例中,数据处理方法的执行主体(例如图1所示的服务器)可以获取待处理的批次号。作为示例,上述执行主体可以获取与当前时间之间的时差为预设时差(例如,1分钟)的时刻所生成的第二数据操作记录的批次号。例如,若当前时间为2020年12月8号17点10分52秒,上述执行主体可以获取一分钟之前(即2020年12月8号17点9分52秒)所生成的第二数据操作记录的批次号20201208170952。
步骤602,获取包括待处理的批次号的第一数据操作记录集合,按照更新时间由前到后的顺序对第一数据操作记录集合中的第一数据操作记录进行排序,得到第一数据操作记录序列。
在本实施例中,上述执行主体可以获取包括上述待处理的批次号的第一数据操作记录集合。之后,可以按照更新时间由前到后的顺序对第一数据操作记录集合中的第一数据操作记录进行排序,得到第一数据操作记录序列。在这里,第一数据操作记录集合中的第一数据操作记录对应的更新时间通常为第一数据操作记录存入数据库的时间。
通常来说,在生成上述目标数据的第二数据操作记录之前,需要锁定子数据。
在这里,上述第一数据操作记录可以包括数据变化值、期初数额和期末数额。数据变化值可以理解为本次数据更新的变化值。期初数额通常是指期初已存在的数据数额。期初已存在的数额是由上期结转至本期的数额,或是上期期末数额调整后的数额。通常,期初数额是上期数据结转至本期数据的数额,在数额上与相应数据的上期期末数额相等。期末数额通常是指期初数额加本期增加发生额或本期减少发生额相抵后的差额,也就是在一定时期的期末结出的数额。
步骤603,从第一数据操作记录序列中选取第一条第一数据操作记录作为待回放操作记录,基于待回放操作记录,执行如下操作记录生成步骤:生成与待回放操作记录对应的第二数据操作记录;将第二数据操作记录中的数据变化值设置为待回放操作记录中的数据变化值,将第二数据操作记录中的期初数额设置为目标数值,将第二数据操作记录中的期末数额设置为第二数据操作记录中的数据变化值和第二数据操作记录中的期初数额之和;确定第一数据操作记录序列中是否存在未被回放的第一数据操作记录;若否,则将生成的多个第二数据操作记录进行存储。
在本实施例中,上述执行主体可以从在步骤602中得到的第一数据操作记录序列中选取第一条第一数据操作记录作为待回放操作记录。之后,可以基于待回放操作记录,执行操作记录生成步骤。
在本实施例中,操作记录生成步骤603可以包括子步骤6031、6032、6033、6034、6035和6036。其中:
步骤6031,生成与待回放操作记录对应的第二数据操作记录。
在本实施例中,上述执行主体可以生成与待回放操作记录对应的第二数据操作记录。在这里,第二数据操作记录可以包括数据变化值、期初数额和期末数额。
步骤6032,将第二数据操作记录中的数据变化值设置为待回放操作记录中的数据变化值,将第二数据操作记录中的期初数额设置为目标数值,将第二数据操作记录中的期末数额设置为第二数据操作记录中的数据变化值和第二数据操作记录中的期初数额之和。
在本实施例中,上述执行主体可以将第二数据操作记录中的数据变化值设置为待回放操作记录中的数据变化值。上述执行主体可以将第二数据操作记录中的期初数额设置为目标数值。具体地,若第二数据操作记录与第一条第一数据操作记录相对应,即待回放操作记录为第一条第一数据操作记录,则上述目标数值可以为上述目标数据的当前总数额,即目标数据的影子数额。若第二数据操作记录未与第一条第一数据操作记录相对应,即待回放操作记录不是第一条第一数据操作记录,则上述目标数值可以为前一次生成的第二数据操作记录中的期末数额。上述执行主体可以将第二数据操作记录中的期末数额设置为第二数据操作记录中的数据变化值和第二数据操作记录中的期初数额之和。
作为一个示例,若待回放操作记录为第一条第一数据操作记录,待回放操作记录包括:数据变化值30、期初数额50和期末数额80,目标数据的影子数额为1500,则可以将第二数据操作记录中的数据变化值设置为30,将第二数据操作记录中的期初数额设置为1500,将第二数据操作记录中的期末数额设置为1530。
作为另一个示例,若待回放操作记录为第二条第一数据操作记录,待回放操作记录包括:数据变化值-10、期初数额80和期末数额70,上一条第二数据操作记录中的期末数额为1530,则可以将第二数据操作记录中的数据变化值设置为-10,将第二数据操作记录中的期初数额设置为1530,将第二数据操作记录中的期末数额设置为1520。
步骤6033,确定第一数据操作记录序列中是否存在未被回放的第一数据操作记录。
在本实施例中,上述执行主体可以确定第一数据操作记录序列中是否存在未被回放的第一数据操作记录。即确定当前的待回放操作记录是否为上述第一数据操作记录序列中的最后一条第一数据操作记录。
若确定出上述第一数据操作记录序列中不存在未被回放的第一数据操作记录,则上述执行主体可以执行步骤6034。
步骤6034,若第一数据操作记录序列中不存在未被回放的第一数据操作记录,则将生成的多个第二数据操作记录进行存储。
在本实施例中,若在步骤6033中确定出上述第一数据操作记录序列中不存在未被回放的第一数据操作记录,则上述执行主体可以将生成的多个第二数据操作记录进行存储。上述执行主体可以将该批次的第二数据操作记录存储到数据库中。
本公开的上述实施例提供的方法与正常的数据在收到多个更新请求需要多次更新相比,减少了由于大量锁定数据与解锁数据的操作所产生的锁竞争,从而极大地提高了数据处理系统的并发处理能力。
在一些可选的实现方式中,若上述第一数据操作记录序列中存在未被回放的第一数据操作记录,则上述执行主体可以从上述第一数据操作记录序列中选取待回放第一数据操作记录的下一条第一数据操作记录作为待回放第一数据操作记录,继续执行上述记账明细生成步骤(即子步骤6031-6034)。
在一些可选的实现方式中,上述第一数据操作记录可以包括记录状态,上述记录状态可以包括已回放状态和未回放状态。若第一数据操作记录的记录状态为已回放状态,则表征该第一数据操作记录已被回放。若第一数据操作记录的记录状态为未回放状态,则表征该第一数据操作记录未被回放。上述执行主体可以通过如下方式确定上述第一数据操作记录序列中是否存在未被回放的第一数据操作记录:上述执行主体可以确定上述第一数据操作记录序列中是否存在记录状态为未回放状态的第一数据操作记录。若上述第一数据操作记录序列中存在记录状态为未回放状态的第一数据操作记录,则表征上述第一数据操作记录序列中存在未被回放的第一数据操作记录。若上述第一数据操作记录序列中不存在记录状态为未回放状态的第一数据操作记录,则表征上述第一数据操作记录序列中不存在未被回放的第一数据操作记录。
在一些可选的实现方式中,上述第一数据操作记录可以包括记录状态,上述记录状态可以包括已回放状态和未回放状态。若第一数据操作记录的记录状态为已回放状态,则表征该第一数据操作记录已被回放。若第一数据操作记录的记录状态为未回放状态,则表征该第一数据操作记录未被回放。上述执行主体在完成对第二数据操作记录的数据变化值、期初数额和期末数额的设置之后,可以将待回放操作记录的记录状态设置成已回放状态。
在一些可选的实现方式中,上述执行主体可以通过如下方式对上述目标数据的总数额进行更新:上述执行主体可以将所生成的多个第二数据操作记录中的数据变化值相加,即将一批次的数据变化值相加,得到该批次的数据变化总值;之后,可以将上述目标数据的总数额(影子数额)与上述数据变化总值相加,利用相加结果对上述目标数据的总数额进行更新。作为示例,若一批次的数据变化总值为1500,上述目标数据的总数额为2500,则上述执行主体可以将上述目标数据的总数额更新为4000。
继续参考图7,其示出了账户余额更新方法中主数据、子数据、第一数据操作记录和第二数据操作记录之间的对应关系的一个示意图。在图7中,一个主数据通常对应N个子数据。对子数据或者主数据更新一次通常会生成一个第一数据操作记录,对一个第一数据操作记录回放通常会生成一个第二数据操作记录。目标数据的主数据可以包括主数据标识、主数据数额、数据总数额和数据状态。主数据数额通常指的是将数据数额分给子数据后主数据的剩余数额。数据总数额通常指的是主数据数额与所有子数据数额的总和。数据状态可以包括热点状态、非热点状态和处理状态。目标数据的子数据可以包括子数据标识、对应的主数据标识和子数据数额。第一数据操作记录可以包括第一数据操作记录标识、数据变化值、期初数额、期末数额、记录状态和批次号。期初数额通常是指期初已存在的数据数额。期末数额通常是指期初数额加本期增加发生额或本期减少发生额相抵后的差额。记录状态可以包括已回放状态和未回放状态。批次号相同,则表征第一数据操作记录会在同一批次被回放。第二数据操作记录可以包括操作记录标识、数据变化值、期初数额和期末数额。
进一步参考图8,作为对上述各图所示方法的实现,本公开提供了一种数据处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图8所示,本实施例的数据处理装置800包括:确定单元801、生成单元802和更新单元803。其中,确定单元801用于响应于接收到针对目标数据的更新请求,确定目标数据的数据状态;生成单元802用于基于目标数据的数据状态,对目标数据进行更新,生成第一数据操作记录,其中,一个更新请求对应一条第一数据操作记录,第一数据操作记录包括批次号;更新单元803用于按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。
在本实施例中,数据处理装置800的确定单元801、生成单元802和更新单元803的具体处理可以参考图2对应实施例中的步骤201、步骤202和步骤203。
在一些可选的实现方式中,上述生成单元802可以进一步用于通过如下方式基于上述目标数据的数据状态,对上述目标数据进行更新:若上述目标数据的数据状态为第一状态,则上述生成单元802可以从上述目标数据的子数据集合中选取子数据,对选取出的子数据进行更新。
在一些可选的实现方式中,上述生成单元802可以进一步用于通过如下方式基于上述目标数据的数据状态,对上述目标数据进行更新:若上述目标数据的数据状态为第二状态,上述生成单元802可以对上述目标数据的主数据进行更新,其中,上述第二状态表征上述目标数据由第三状态转换为第一状态的转换过程中所处的状态或者由第一状态转换为第三状态的转换过程中所处的状态。
在一些可选的实现方式中,上述更新请求中的数据变化值可以表征数据减少;以及上述生成单元802可以进一步用于通过如下方式对选取出的子数据进行更新:上述生成单元802可以确定选取出的子数据中的数额是否大于上述更新请求中的更新数据的绝对值;若是,则对上述选取出的子数据进行更新。
在一些可选的实现方式中,上述第一数据操作记录可以包括数据变化值、期初数额和期末数额;以及上述更新单元803可以进一步用于通过如下方式按批次对相应的第一数据操作记录进行回放,生成上述目标数据的第二数据操作记录:上述更新单元803可以首先获取待处理的批次号;之后,可以获取包括上述待处理的批次号的第一数据操作记录集合,按照更新时间由前到后的顺序对上述第一数据操作记录集合中的第一数据操作记录进行排序,得到第一数据操作记录序列;而后,上述更新单元803可以从上述第一数据操作记录序列中选取第一条第一数据操作记录作为待回放操作记录,基于待回放操作记录,执行如下操作记录生成步骤:生成与待回放操作记录对应的第二数据操作记录,其中,第二数据操作记录包括数据变化值、期初数额和期末数额;将第二数据操作记录中的数据变化值设置为待回放操作记录中的数据变化值,将第二数据操作记录中的期初数额设置为目标数值,将第二数据操作记录中的期末数额设置为第二数据操作记录中的数据变化值和第二数据操作记录中的期初数额之和,其中,若第二数据操作记录与第一条第一数据操作记录相对应,则目标数值为上述目标数据的当前总数额,若第二数据操作记录未与第一条第一数据操作记录相对应,则目标数值为前一次生成的第二数据操作记录中的期末数额;确定上述第一数据操作记录序列中是否存在未被回放的第一数据操作记录;若否,则将生成的多个第二数据操作记录进行存储。
在一些可选的实现方式中,上述数据处理装置还可以包括:反馈单元(图中未示出)。若上述第一数据操作记录序列中存在未被回放的第一数据操作记录,则上述反馈单元可以从上述第一数据操作记录序列中选取待回放操作记录的下一条第一数据操作记录作为待回放操作记录,继续执行上述操作记录生成步骤。
在一些可选的实现方式中,上述第一数据操作记录可以包括记录状态,上述记录状态可以包括已回放状态和未回放状态;以及上述更新单元803可以进一步用于通过如下方式确定上述第一数据操作记录序列中是否存在未被回放的第一数据操作记录:上述更新单元803可以确定上述第一数据操作记录序列中是否存在记录状态为未回放状态的第一数据操作记录。
在一些可选的实现方式中,上述第一数据操作记录可以包括记录状态,上述记录状态可以包括已回放状态和未回放状态;以及上述数据处理装置还可以包括:设置单元(图中未示出)。上述设置单元可以用于将待回放操作记录的记录状态设置成已回放状态。
在一些可选的实现方式中,上述更新单元803可以进一步用于通过如下方式对上述目标数据的总数额进行更新:上述更新单元803可以将所生成的多个第二数据操作记录中的数据变化值相加,得到更新总数额;之后,可以将上述目标数据的总数额与上述更新总数额相加,利用相加结果对上述目标数据的总数额进行更新。
下面参考图9,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器)900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储装置908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图9中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM 902被安装。在该计算机程序被处理装置901执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到针对目标数据的更新请求,确定目标数据的数据状态;基于目标数据的数据状态,对目标数据进行更新,生成第一数据操作记录,其中,一个更新请求对应一条第一数据操作记录,第一数据操作记录包括批次号;按批次对相应的第一数据操作记录进行回放,生成目标数据的第二数据操作记录,对目标数据的总数额进行更新。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、生成单元和更新单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“响应于接收到针对目标数据的更新请求,确定目标数据的数据状态”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
响应于接收到针对目标数据的更新请求,确定所述目标数据的数据状态;
基于所述目标数据的数据状态,对所述目标数据进行更新,生成第一数据操作记录,其中,一个更新请求对应一条第一数据操作记录,所述第一数据操作记录包括批次号;
按批次对相应的第一数据操作记录进行回放,生成所述目标数据的第二数据操作记录,对所述目标数据的总数额进行更新。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据的数据状态,对所述目标数据进行更新,包括:
若所述目标数据的数据状态为第一状态,则从所述目标数据的子数据集合中选取子数据,对选取出的子数据进行更新。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据的数据状态,对所述目标数据进行更新,包括:
若所述目标数据的数据状态为第二状态,则对所述目标数据的主数据进行更新,其中,所述第二状态表征所述目标数据由第三状态转换为第一状态的转换过程中所处的状态或者由第一状态转换为第三状态的转换过程中所处的状态。
4.根据权利要求2所述的方法,其特征在于,所述更新请求中的数据变化值表征数据减少;以及
所述对选取出的子数据进行更新,包括:
确定选取出的子数据中的数额是否大于所述更新请求中的数据变化值的绝对值;
若是,则对所述选取出的子数据进行更新。
5.根据权利要求1所述的方法,其特征在于,所述第一数据操作记录包括数据变化值、期初数额和期末数额;以及
所述按批次对相应的第一数据操作记录进行回放,生成所述目标数据的第二数据操作记录,包括:
获取待处理的批次号;
获取包括所述待处理的批次号的第一数据操作记录集合,按照更新时间由前到后的顺序对所述第一数据操作记录集合中的第一数据操作记录进行排序,得到第一数据操作记录序列;
从所述第一数据操作记录序列中选取第一条第一数据操作记录作为待回放操作记录,基于待回放操作记录,执行如下操作记录生成步骤:生成与待回放操作记录对应的第二数据操作记录,其中,第二数据操作记录包括数据变化值、期初数额和期末数额;将第二数据操作记录中的数据变化值设置为待回放操作记录中的数据变化值,将第二数据操作记录中的期初数额设置为目标数值,将第二数据操作记录中的期末数额设置为第二数据操作记录中的数据变化值和第二数据操作记录中的期初数额之和,其中,若第二数据操作记录与第一条第一数据操作记录相对应,则目标数值为所述目标数据的当前总数额,若第二数据操作记录未与第一条第一数据操作记录相对应,则目标数值为前一次生成的第二数据操作记录中的期末数额;确定所述第一数据操作记录序列中是否存在未被回放的第一数据操作记录;若否,则将生成的多个第二数据操作记录进行存储。
6.根据权利要求5所述的方法,其特征在于,在所述确定所述第一数据操作记录序列中是否存在未被回放的第一数据操作记录之后,所述方法还包括:
若是,则从所述第一数据操作记录序列中选取待回放操作记录的下一条第一数据操作记录作为待回放操作记录,继续执行所述操作记录生成步骤。
7.根据权利要求5所述的方法,其特征在于,所述第一数据操作记录包括记录状态,所述记录状态包括已回放状态和未回放状态;以及
所述确定所述第一数据操作记录序列中是否存在未被回放的第一数据操作记录,包括:
确定所述第一数据操作记录序列中是否存在记录状态为未回放状态的第一数据操作记录。
8.根据权利要求5所述的方法,其特征在于,所述第一数据操作记录包括记录状态,所述记录状态包括已回放状态和未回放状态;以及
在所述将第二数据操作记录中的期末数额设置为第二数据操作记录中的数据变化值和第二数据操作记录中的期初数额之和之后,所述方法还包括:
将待回放操作记录的记录状态设置成已回放状态。
9.根据权利要求1-8之一所述的方法,其特征在于,所述对所述目标数据的总数额进行更新,包括:
将所生成的多个第二数据操作记录中的数据变化值相加,得到更新总数额;
将所述目标数据的总数额与所述更新总数额相加,利用相加结果对所述目标数据的总数额进行更新。
10.一种数据处理装置,其特征在于,包括:
确定单元,用于响应于接收到针对目标数据的更新请求,确定所述目标数据的数据状态;
生成单元,用于基于所述目标数据的数据状态,对所述目标数据进行更新,生成第一数据操作记录,其中,一个更新请求对应一条第一数据操作记录,所述第一数据操作记录包括批次号;
更新单元,用于按批次对相应的第一数据操作记录进行回放,生成所述目标数据的第二数据操作记录,对所述目标数据的总数额进行更新。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110299716.6A CN113034254B (zh) | 2021-03-19 | 2021-03-19 | 数据处理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110299716.6A CN113034254B (zh) | 2021-03-19 | 2021-03-19 | 数据处理方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113034254A true CN113034254A (zh) | 2021-06-25 |
CN113034254B CN113034254B (zh) | 2024-05-14 |
Family
ID=76471986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110299716.6A Active CN113034254B (zh) | 2021-03-19 | 2021-03-19 | 数据处理方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113034254B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130246230A1 (en) * | 2010-02-11 | 2013-09-19 | Alibata Group, Ine Capital Place | Method and System for E-Commerce Transaction Data Accounting |
CN106952158A (zh) * | 2017-03-17 | 2017-07-14 | 证通股份有限公司 | 解决热点账户问题的记账方法及设备 |
CN107016604A (zh) * | 2017-02-22 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 缓冲记账的方法、装置及设备 |
CN107194712A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 共享账户变动信息记录方法及装置、内部账户补账方法及系统 |
US20180005229A1 (en) * | 2016-06-30 | 2018-01-04 | Square, Inc. | Physical, logical separation of balances of funds |
CN108897783A (zh) * | 2018-06-08 | 2018-11-27 | 阿里巴巴集团控股有限公司 | 记账模式确定方法、账户状态预测方法、装置及电子设备 |
CN109597819A (zh) * | 2018-12-07 | 2019-04-09 | 北京字节跳动网络技术有限公司 | 用于更新数据库的方法和装置 |
CN109753512A (zh) * | 2019-01-28 | 2019-05-14 | 北京三快在线科技有限公司 | 余额更新方法及装置、计算机存储介质和电子设备 |
CN110175900A (zh) * | 2019-04-30 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 一种缓冲补账方法及装置 |
CN111159160A (zh) * | 2019-12-31 | 2020-05-15 | 香港乐蜜有限公司 | 一种版本回滚方法、装置、电子设备及存储介质 |
WO2021008400A1 (zh) * | 2019-07-12 | 2021-01-21 | 深圳前海微众银行股份有限公司 | 基于区块链的数据批量处理方法、装置、设备及存储介质 |
-
2021
- 2021-03-19 CN CN202110299716.6A patent/CN113034254B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130246230A1 (en) * | 2010-02-11 | 2013-09-19 | Alibata Group, Ine Capital Place | Method and System for E-Commerce Transaction Data Accounting |
CN107194712A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 共享账户变动信息记录方法及装置、内部账户补账方法及系统 |
US20180005229A1 (en) * | 2016-06-30 | 2018-01-04 | Square, Inc. | Physical, logical separation of balances of funds |
CN107016604A (zh) * | 2017-02-22 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 缓冲记账的方法、装置及设备 |
CN106952158A (zh) * | 2017-03-17 | 2017-07-14 | 证通股份有限公司 | 解决热点账户问题的记账方法及设备 |
CN108897783A (zh) * | 2018-06-08 | 2018-11-27 | 阿里巴巴集团控股有限公司 | 记账模式确定方法、账户状态预测方法、装置及电子设备 |
CN109597819A (zh) * | 2018-12-07 | 2019-04-09 | 北京字节跳动网络技术有限公司 | 用于更新数据库的方法和装置 |
CN109753512A (zh) * | 2019-01-28 | 2019-05-14 | 北京三快在线科技有限公司 | 余额更新方法及装置、计算机存储介质和电子设备 |
CN110175900A (zh) * | 2019-04-30 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 一种缓冲补账方法及装置 |
WO2021008400A1 (zh) * | 2019-07-12 | 2021-01-21 | 深圳前海微众银行股份有限公司 | 基于区块链的数据批量处理方法、装置、设备及存储介质 |
CN111159160A (zh) * | 2019-12-31 | 2020-05-15 | 香港乐蜜有限公司 | 一种版本回滚方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
XING, RUIQI,等: "Problems and Countermeasures of the Application of Enterprise Management Accounting Informatization", AARICULTURAL SCIENCE AND TECHNOLOGY, vol. 18, no. 8, pages 1555 - 1558 * |
徐小英: "天财账务资金结算系统批量数据处理方法研究", 信息化建设, no. 7, pages 75 - 76 * |
董航;: "基于记账管理APP系统需求分析与设计", 辽宁高职学报, no. 10, pages 10 * |
Also Published As
Publication number | Publication date |
---|---|
CN113034254B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042876B2 (en) | Transaction method and system based on centralized settlement and blockchain deposit certificates | |
TWI705346B (zh) | 基於中心化結算與區塊鏈存證的交易方法及系統 | |
US20210049595A1 (en) | Transaction method and system based on centralized settlement and block chain storage | |
US11469891B2 (en) | Expendable cryptographic key access | |
CN108596619B (zh) | 用于区块链系统的交易方法、装置、中心节点及系统 | |
CN108681565B (zh) | 区块链数据并行处理方法、装置、设备和存储介质 | |
GB2565411A (en) | Improved hardware security module management | |
CN110365491A (zh) | 业务处理方法、装置、设备、存储介质以及数据共享系统 | |
US20210049601A1 (en) | Dual transaction method and system based on centralization and decentralization | |
KR20210080550A (ko) | 블록체인에 데이터 블록을 기록하는 방법과, 리더 회계 노드 및 매체 | |
CN112261135A (zh) | 基于一致性协议的节点选举方法、系统、装置及设备 | |
CN110781373B (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN110851535B (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN108665272A (zh) | 区块链数据处理方法、装置、设备和存储介质 | |
CN110705985A (zh) | 用于存储信息的方法和装置 | |
CN113034254B (zh) | 数据处理方法、装置和电子设备 | |
CN113283891A (zh) | 信息处理方法、装置和电子设备 | |
JP7273241B2 (ja) | インテリジェント契約実行方法および装置 | |
US20230119035A1 (en) | Platform services verification | |
CN113760927A (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
CN112073202B (zh) | 信息生成方法、装置、电子设备和计算机可读介质 | |
CN115348260B (zh) | 基于校园信息安全的信息处理方法、装置、设备和介质 | |
CN112804164B (zh) | 流量信息生成方法、装置、电子设备和计算机可读介质 | |
CN110827009B (zh) | 一种基于账户余额限制的资金转移方法及装置 | |
CN110262756B (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 | ||
GR01 | Patent grant |