CN112801769B - 账务数据处理方法、装置及系统 - Google Patents
账务数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN112801769B CN112801769B CN202110176877.6A CN202110176877A CN112801769B CN 112801769 B CN112801769 B CN 112801769B CN 202110176877 A CN202110176877 A CN 202110176877A CN 112801769 B CN112801769 B CN 112801769B
- Authority
- CN
- China
- Prior art keywords
- accounting
- processing
- state
- node
- bill
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims description 23
- 238000012545 processing Methods 0.000 claims abstract description 417
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000015654 memory Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000010187 selection method Methods 0.000 claims description 3
- 206010033799 Paralysis Diseases 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种账务数据处理方法、装置及系统,可用于金融领域或其他技术领域,该方法包括:在第一次接收账务清单报文时,获取本账务处理节点对应的账单,将所述账单的处理状态设置为第一状态,根据预设的节点顺序列表找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。本发明有效的解决了现有技术中心节点故障带来整个系统瘫痪的问题。
Description
技术领域
本发明涉及账务数据处理技术领域,具体而言,涉及一种账务数据处理方法、装置及系统。
背景技术
随着互联网的普及,互联网用户急速增长,传统的单体应用系统已经无法满足日益增长的用户压力对系统容量及高可用的需求。通过对单体应用改造为分布式服务模式,能有效的解决不断增长的系统压力,这一点已经在多家互联网公司的商品大促中得到验证。在分布式数据对账技术领域,需要依赖中心节点进行任务拆分和账务数据分配,当中心节点出现故障时,所有节点都无法进行任何对账工作。
目前主要方法为增强对服务节点的监控,便于第一时间维护故障或是启用备用中心节点,同时加强服务器的健壮性。但是监控需要消耗中心节点宝贵的计算资源,同时维护需要时间,备用节点需要增加设备运维成本,增加健壮性也只不过是降低问题发生概率,治标不治本。
综上,目前没有合理的解决中心节点故障带来整个系统瘫痪这个问题的方案,因此,如何提供一种新的方案,解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本发明为了解决上述背景技术中的技术问题,提出了一种账务数据处理方法及系统。
为了实现上述目的,根据本发明的一个方面,提供了一种账务数据处理方法,该方法包括:
在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理;
在将所述账单的处理状态设置为第一状态之后,根据预设的节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点,其中,所述节点顺序列表记载了账务数据处理系统中每个账务处理节点的排序;
在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
可选的,在所述将所述账务清单报文发送到该可用的账务处理节点之前,还包括:
若检测出的不可用的账务处理节点在所述账务清单报文中对应的账单的处理状态不是第二状态,则将不可用的账务处理节点对应的账单的处理状态设置为第三状态。
可选的,所述若所述账务清单报文中每个账单各自的处理状态均为第二状态,则确定所述账务清单报文处理完成,包括:
若所述账务清单报文的处理时长超过预设阈值并且所述账务清单报文中各账单的处理状态均为第二状态或第三状态,则确定所述账务清单报文处理完成。
可选的,该账务数据处理方法,还包括:
在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单未处理完成,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点。
可选的,在获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态之后,还包括:
将本账务处理节点在所述账务清单报文中对应的账单的数据部分删除。
为了实现上述目的,根据本发明的另一方面,提供了一种账务数据处理装置,该装置包括:
账单处理模块,用于在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理;
报文发送模块,用于在将所述账单的处理状态设置为第一状态之后,根据预设的节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点,其中,所述节点顺序列表记载了账务数据处理系统中每个账务处理节点的排序;
状态设置模块,用于在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;
未处理完成处理模块,用于在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
报文处理完成确定模块,用于在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
为了实现上述目的,根据本发明的另一方面,提供了一种账务数据处理系统,该系统包含多个账务处理节点,每个账务处理节点中均设置有节点顺序列表,所述节点顺序列表记载了每个账务处理节点的排序,其中,每个所述账务处理节点具体用于:
在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理;
在将所述账单的处理状态设置为第一状态之后,根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述账务数据处理方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述账务数据处理方法中的步骤。
本发明的有益效果为:本发明的账务数据处理系统包含多个账务处理节点,每个账务处理节点用于处理账务清单报文中的部分账单,在对账务清单报文进行处理时,略过不可用的账务处理节点(故障节点),保证故障节点外的节点可以完成对账,使在不增加设备成本的前提下,无论哪个节点故障对整个系统造成的影响最小化,有效的解决了现有技术中心节点故障带来整个系统瘫痪的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例账务数据处理方法的第一流程图;
图2是本发明实施例账务数据处理方法的第二流程图;
图3是本发明的应用场景示意图;
图4是本发明实施例账务数据处理装置的结构框图;
图5是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
需要说明的是,本发明的账务数据处理方法及系统可应用于金融领域或其他技术领域。
为解决中心节点故障带来整个系统瘫痪的问题。本发明提供了一种账务数据处理方法,采用去中心化的分布式网络架构。数据分配方面采用各节点各自按需获取,命中率高。通过略过故障节点,保证故障节点外的节点可以完成对账,使在不增加设备成本的前提下,无论哪个节点故障对整个系统造成的影响最小化。
图3是本发明账务数据处理方法的应用场景示意图,如图3所示,本发明可选实施例的应用场景包括:账务数据处理系统和对账方。对账方向账务数据处理系统发起账务清单报文,账务数据处理系统在对报文进行处理后向对账方返回报文处理结果。
如图3所示,账务数据处理系统为包含多个账务处理节点的分布式系统,任意两个账务处理节点可以进行数据传输。每个账务处理节点可以用于进行对账等账务数据处理。账务清单报文中包含多笔账单,每个账务处理节点用于对账务清单报文中各自对应的账单进行处理。在对账方发起对账请求时,对账方先将账务清单报文发送给账务数据处理系统中随机一个可用的账务处理节点,由该可用的账务处理节点开始对账务清单报文进行处理,该可用的账务处理节点进而根据预设的节点顺序列表将账务清单报文发送给其他可用的账务处理节点进行处理,直至账务清单报文处理完成,其中,节点顺序列表记载了账务数据处理系统中每个账务处理节点的排序,每个账务处理节点对账务清单报文的处理逻辑完全相同。
图1是本发明实施例账务数据处理方法的第一流程图,如图1所示,本实施例的账务数据处理方法包括步骤S101至步骤S105。
步骤S101,在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理。
在本发明一个实施例中,第一次接收的所述账务清单报文为对账方或所述账务数据处理系统中的账务处理节点发送的;非第一次接收的所述账务清单报文为所述账务数据处理系统中的账务处理节点发送的。
在本发明一个实施例中,第一次接收的所述账务清单报文为对账方采用随机选择的方法从所述账务数据处理系统中选择出一个可用的账务处理节点发送的。具体的,对账方会先从账务数据处理系统中随机选择一个账务处理节点,然后对该节点进行可用性检测通讯,若该节点可用则发送账务清单报文到该节点,如果该节点不可用,则重复上述随机选择和可用性检测步骤,所有节点都不可用则失败。
在本发明一个实施例中,所述第一状态用于表示所述账单正在进行处理。具体的,第一状态可以为“处理中”。
在本发明一个实施例中,在本步骤的获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态之后,还包括:将本账务处理节点在所述账务清单报文中对应的账单的数据部分删除。在本发明一个具体实施例中,账务处理节点收到账务清单报文后,从账务清单报文中取出属于当前节点对应的账单,并将账务清单报文中该部分对应的账单的详细数据部分删除,降低账务清单报文的大小,节省发送账务清单报文的消耗,仅留下账单ID,将ID对应得处理状态标志位设置为“处理中”。
步骤S102,在将所述账单的处理状态设置为第一状态之后,根据预设的节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点,其中,所述节点顺序列表记载了账务数据处理系统中每个账务处理节点的排序。
在本发明实施例中,本步骤进行将账单清单报文发送给下一个账务处理节点操作。在具体实施时,账务处理节点从预设的节点顺序列表(记载了账务数据处理系统中每个账务处理节点的排序,例如,账务处理节点A的排序为1,账务处理节点B的排序为2,账务处理节点C的排序为3)中获取本节点的下一个节点的地址(如果本节点是账务处理节点A,在节点顺序列表中的排序为1,则下一个节点为在节点顺序列表中的排序为2的账务处理节点B),进行可用性检测通讯,如果可用,将账单清单报文发给该节点,如果不可用,启用备用环,检测该节点的下一个节点(即账务处理节点C),依次类推直至发现可用节点或所有节点均不可用。对于当前步骤中发现的不可用节点对应的账单的处理状态设为“不可用”。如果除当前节点所有节点均不可用,等待空闲报文等待时间n(服务器通用设置参数)后再重新发起发给下一个节点的操作。
在本发明中,某一账务处理节点不可用,则启用备用环,即跳过该故障节点,并将故障节点所属账单处理状态置为不可用。下一轮循环继续尝试访问故障节点,直至正常节点全部处理完或故障节点恢复。因此故障节点恢复后可加入处理,对其所属的状态为不可用的报文进行处理。
步骤S103,在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态。
在本发明实施例中,为了使每个账务处理节点均完成对账务清单报文的处理并更改处理状态,账务清单报文会根据节点顺序列表在所有账务处理节点中至少进行两次循环,考虑到每个账务处理节点处理账单所需时间不同,以及某些账务处理节点出现异常情况,账务清单报文可以会在环状链路中经过多次循环才最终到达处理完成状态。
在本发明实施例中,非第一次接收的所述账务清单报文为所述账务数据处理系统中的其他账务处理节点采用上述步骤S102中的将账单清单报文发送给下一个节点操作发送的。
在本发明一个实施例中,所述第二状态用于表示所述账单的对账结果,所述对账结果包括账单正常、账单异常以及对账错误。
步骤S104,在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点。
在本发明实施例中,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则说明所述账务清单报文未处理完成,继续根据节点顺序列表将账务清单报文发送给当前节点对应的下一个可用的账务处理节点,继续在所有的账务处理节点中进行循环。
步骤S105,在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
在本发明实施例中,若所述账务清单报文中各账单的处理状态均为第二状态,则确定所述账务清单报文处理完成,否则,则确定所述账务清单报文未处理完成。
由此可见,本发明的账务数据处理系统包含多个账务处理节点,每个账务处理节点用于处理账务清单报文中的部分账单,账务清单报文会根据预设的节点顺序列表按照一定顺序在账务数据处理系统的所有账务处理节点中进行循环处理,直至处理完成。本发明在对账务清单报文进行处理时,略过不可用的账务处理节点(故障节点),保证故障节点外的节点可以完成对账,使在不增加设备成本的前提下,无论哪个节点故障对整个系统造成的影响最小化,有效的解决了现有技术中心节点故障带来整个系统瘫痪的问题。
在本发明一个实施例中,在上述步骤S102和步骤S104的所述将所述账务清单报文发送到该可用的账务处理节点之前,本发明方法还包括:
若检测出的不可用的账务处理节点在所述账务清单报文中对应的账单的处理状态不是第二状态,则将不可用的账务处理节点对应的账单的处理状态设置为第三状态。
在本发明一个实施例中,所述第三状态用于表示账单对应的账务处理节点不可用。
在本发明一个实施例中,上述步骤S105的确定所述账务清单报文处理完成,具体为:
若所述账务清单报文的处理时长超过预设阈值并且所述账务清单报文中各账单的处理状态均为第二状态或第三状态,则确定所述账务清单报文处理完成。
在本发明实施例中,若账务清单报文在账务处理系统中已处理较长时间,但是账务处理节点的故障一直没有恢复,为了尽快完成账务清单报文,此时若账务清单报文中各账单的处理状态均为第二状态或第三状态,则可以确定所述账务清单报文处理完成。
在本发明一个实施例中,本发明方法还包括:
在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单未处理完成,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点。
图2是本发明实施例账务数据处理方法的第二流程图,如图2所示,在本发明一个实施例中,本发明的账务数据处理方法还包括步骤S201至步骤S202。
步骤S201,对账方采用随机选择的方法从所述账务数据处理系统中选择一个可用的账务处理节点,并将账务清单报文发送给该账务处理节点。
在本发明实施例中,对账方发送的账务清单报文为上述步骤S101的第一次接收的所述账务清单报文。在本发明一个实施例中,对账方会先从账务数据处理系统中随机选择一个账务处理节点,然后对该节点进行可用性检测通讯,若该节点可用则发送账务清单报文到该节点,如果该节点不可用,则重复上述随机选择和可用性检测步骤,所有节点都不可用则失败。
步骤S202,若所述账务清单报文处理完成,则将所述账务清单报文发送给所述对账方。
在本发明实施例中,账务清单报文在处理完成时,报文中的每笔账单都有对应的处理状态(第二状态或第三状态),此时该账务清单报文即为报文处理结果,因此,直接将此时的账务清单报文发送给对账方。
在本发明实施例中,账单对账完成后,等待收到账务清单报文后,将当前节点处理的对应账单的处理状态设置为对应得对账结果状态(账单正常、账单异常、对账错误)。判断账单信息报文中所有账单状态是否均为处理完成(账单正常、账单异常、对账错误)的状态,是的话,则将该报文发送给对账请求方;否的话,等待空闲报文等待时间n(服务器通用设置参数)后再重新发起发给下一个节点的工作。
由以上实施例可以看出,本发明的账务数据处理方法采用去中心化的分布式网络架构。通过去中心化,在不增加备用设备成本的前提下,确保任意节点的异常对整体影响最小化。其优点如下:
1、健壮性,去中心化,任意单个节点故障仅影响自身。
2、可恢复性,节点故障修复后,仍可再次处理属于该节点的任务。
3、网络压力成本低,环状网络,每个节点仅需维持两个连接。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种账务数据处理装置,如下面的实施例所述。由于账务数据处理装置解决问题的原理与账务数据处理方法相似,因此账务数据处理装置的实施例可以参见账务数据处理方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图4所示,在本发明一个实施例中,在本发明的账务数据处理装置,包括:
账单处理模块1,用于在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理;
报文发送模块2,用于在将所述账单的处理状态设置为第一状态之后,根据预设的节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点,其中,所述节点顺序列表记载了账务数据处理系统中每个账务处理节点的排序;
状态设置模块3,用于在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;
未处理完成处理模块4,用于在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
报文处理完成确定模块5,用于在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
在本发明一个实施例中,在所述将所述账务清单报文发送到该可用的账务处理节点之前,报文发送模块2还用于若检测出的不可用的账务处理节点在所述账务清单报文中对应的账单的处理状态不是第二状态,则将不可用的账务处理节点对应的账单的处理状态设置为第三状态。
在本发明一个实施例中,在所述将所述账务清单报文发送到该可用的账务处理节点之前,未处理完成处理模块4还用于若检测出的不可用的账务处理节点在所述账务清单报文中对应的账单的处理状态不是第二状态,则将不可用的账务处理节点对应的账单的处理状态设置为第三状态。
在本发明一个实施例中,报文处理完成确定模块5,具体用于若所述账务清单报文的处理时长超过预设阈值并且所述账务清单报文中各账单的处理状态均为第二状态或第三状态,则确定所述账务清单报文处理完成。
在本发明一个实施例中,本发明的账务数据处理装置,还包括:
账单未处理完成处理模块,用于在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单未处理完成,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点。
在本发明一个实施例中,账单处理模块1在获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态之后,还用于将本账务处理节点在所述账务清单报文中对应的账单的数据部分删除。
基于同一发明构思,本发明实施例还提供了一种账务数据处理系统,如下面的实施例所述。由于账务数据处理系统解决问题的原理与账务数据处理方法相似,因此账务数据处理系统的实施例可以参见账务数据处理方法的实施例,重复之处不再赘述。
如图3所示,本发明的账务数据处理系统包含多个账务处理节点,每个账务处理节点中均设置有节点顺序列表,所述节点顺序列表记载了每个账务处理节点的排序,其中,每个所述账务处理节点具体用于:
在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理;
在将所述账单的处理状态设置为第一状态之后,根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
在本发明一个实施例中,每个所述账务处理节点,还用于在将所述账务清单报文发送到该可用的账务处理节点之前,若检测出的不可用的账务处理节点在所述账务清单报文中对应的账单的处理状态不是第二状态,则将不可用的账务处理节点对应的账单的处理状态设置为第三状态。
在本发明一个实施例中,所述若所述账务清单报文中每个账单各自的处理状态均为第二状态,则确定所述账务清单报文处理完成,包括:
若所述账务清单报文的处理时长超过预设阈值并且所述账务清单报文中各账单的处理状态均为第二状态或第三状态,则确定所述账务清单报文处理完成。
在本发明一个实施例中,每个所述账务处理节点,还用于在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单未处理完成,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点。
在本发明一个实施例中,每个所述账务处理节点,还用于在获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态之后,将本账务处理节点在所述账务清单报文中对应的账单的数据部分删除。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图5所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述账务数据处理方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种账务数据处理方法,其特征在于,包括:
在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理;
在将所述账单的处理状态设置为第一状态之后,根据预设的节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点,其中,所述节点顺序列表记载了账务数据处理系统中每个账务处理节点的排序;
在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
2.根据权利要求1所述的账务数据处理方法,其特征在于,在所述将所述账务清单报文发送到该可用的账务处理节点之前,还包括:
若检测出的不可用的账务处理节点在所述账务清单报文中对应的账单的处理状态不是第二状态,则将不可用的账务处理节点对应的账单的处理状态设置为第三状态。
3.根据权利要求2所述的账务数据处理方法,其特征在于,所述若所述账务清单报文中每个账单各自的处理状态均为第二状态,则确定所述账务清单报文处理完成,包括:
若所述账务清单报文的处理时长超过预设阈值并且所述账务清单报文中各账单的处理状态均为第二状态或第三状态,则确定所述账务清单报文处理完成。
4.根据权利要求1所述的账务数据处理方法,其特征在于,还包括:
在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单未处理完成,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点。
5.根据权利要求1所述的账务数据处理方法,其特征在于,在获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态之后,还包括:
将本账务处理节点在所述账务清单报文中对应的账单的数据部分删除。
6.根据权利要求1所述的账务数据处理方法,其特征在于,第一次接收的所述账务清单报文为对账方或所述账务数据处理系统中的账务服务节点发送的;非第一次接收的所述账务清单报文为所述账务数据处理系统中的账务处理节点发送的。
7.根据权利要求1所述的账务数据处理方法,其特征在于,第一次接收的所述账务清单报文为对账方采用随机选择的方法从所述账务数据处理系统中选择出一个可用的账务处理节点发送的。
8.根据权利要求7所述的账务数据处理方法,其特征在于,在确定所述账务清单报文处理完成之后,还包括:
将所述账务清单报文发送给所述对账方。
9.根据权利要求1所述的账务数据处理方法,其特征在于,所述第一状态用于表示所述账单正在进行处理;所述第二状态用于表示所述账单的对账结果,所述对账结果包括账单正常、账单异常以及对账错误。
10.根据权利要求2所述的账务数据处理方法,其特征在于,所述第三状态用于表示账单对应的账务处理节点不可用。
11.一种账务数据处理装置,其特征在于,包括:
账单处理模块,用于在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理;
报文发送模块,用于在将所述账单的处理状态设置为第一状态之后,根据预设的节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点,其中,所述节点顺序列表记载了账务数据处理系统中每个账务处理节点的排序;
状态设置模块,用于在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;
未处理完成处理模块,用于在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
报文处理完成确定模块,用于在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
12.一种账务数据处理系统,其特征在于,包含多个账务处理节点,每个账务处理节点中均设置有节点顺序列表,所述节点顺序列表记载了每个账务处理节点的排序,其中,每个所述账务处理节点具体用于:
在第一次接收账务清单报文时,获取本账务处理节点在所述账务清单报文中对应的账单,将所述账务清单报文中所述账单的处理状态设置为第一状态,然后对所述账单进行处理;
在将所述账单的处理状态设置为第一状态之后,根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
在不是第一次接收所述账务清单报文时,若本账务处理节点对应的账单已处理完成并且所述账务清单报文中本账务处理节点对应的账单的处理状态不是第二状态,则将所述账务清单报文中本账务处理节点对应的账单的处理状态设置为第二状态;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中至少一个账单的处理状态不是第二状态,则根据所述节点顺序列表依次查找本账务处理节点之后的账务处理节点的可用性状态直至找到一个可用的账务处理节点,并将所述账务清单报文发送到该可用的账务处理节点;
在不是第一次接收所述账务清单报文时,若所述账务清单报文中每个账单的处理状态均为第二状态,则确定所述账务清单报文处理完成。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至10任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110176877.6A CN112801769B (zh) | 2021-02-07 | 2021-02-07 | 账务数据处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110176877.6A CN112801769B (zh) | 2021-02-07 | 2021-02-07 | 账务数据处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112801769A CN112801769A (zh) | 2021-05-14 |
CN112801769B true CN112801769B (zh) | 2024-02-02 |
Family
ID=75814956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110176877.6A Active CN112801769B (zh) | 2021-02-07 | 2021-02-07 | 账务数据处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112801769B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177368A (zh) * | 2013-04-19 | 2013-06-26 | 中国建设银行股份有限公司 | 用于电子商务系统的对账方法和系统 |
CN110263582A (zh) * | 2019-05-10 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 一种基于联盟链的对账方法、装置及电子设备 |
CN111784318A (zh) * | 2020-06-29 | 2020-10-16 | 京东数字科技控股有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112016291A (zh) * | 2020-08-21 | 2020-12-01 | 广州欢网科技有限责任公司 | 一种对账方法、装置及系统 |
-
2021
- 2021-02-07 CN CN202110176877.6A patent/CN112801769B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177368A (zh) * | 2013-04-19 | 2013-06-26 | 中国建设银行股份有限公司 | 用于电子商务系统的对账方法和系统 |
CN110263582A (zh) * | 2019-05-10 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 一种基于联盟链的对账方法、装置及电子设备 |
CN111784318A (zh) * | 2020-06-29 | 2020-10-16 | 京东数字科技控股有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112016291A (zh) * | 2020-08-21 | 2020-12-01 | 广州欢网科技有限责任公司 | 一种对账方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112801769A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117275B (zh) | 基于数据分片的对账方法、装置、计算机设备及存储介质 | |
WO2019128670A1 (zh) | 用于在分布式系统中使管理能力自恢复的方法和装置 | |
CN107360025B (zh) | 一种分布式存储系统集群监控方法及设备 | |
CN110557304B (zh) | 一种地址探测方法、设备及计算机可读存储介质 | |
CN112104727B (zh) | 一种精简高可用Zookeeper集群部署方法及系统 | |
CN112597202B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN111901176B (zh) | 故障确定方法、装置、设备及存储介质 | |
CN102055644A (zh) | 分布式目录服务系统中负载管理的方法、装置和系统 | |
WO2024007995A1 (zh) | 网络故障恢复方法、装置、设备及存储介质 | |
CN106488416B (zh) | 行业短信发送方法与装置 | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与系统 | |
CN112801769B (zh) | 账务数据处理方法、装置及系统 | |
CN116260707B (zh) | 基于共识的区块链节点灾备方法、装置、设备及存储介质 | |
CN107959595B (zh) | 一种异常检测的方法、装置及系统 | |
CN110737543B (zh) | 一种分布式文件系统数据恢复的方法、装置及存储介质 | |
CN113472566A (zh) | 一种联盟区块链的状态监控方法及主节点状态监控系统 | |
CN110086660B (zh) | 一种数据处理方法及装置 | |
CN114710485A (zh) | 处理方法和处理装置 | |
CN112612652A (zh) | 分布式存储系统异常节点重启方法及系统 | |
CN108833273B (zh) | Vrrp备份组中主备切换、选举方法、路由器和介质 | |
CN117478299B (zh) | 区块链共识算法切换方法、装置和计算机设备 | |
CN115102962B (zh) | 集群管理方法、装置、计算机设备和存储介质 | |
CN115842767B (zh) | 基于共识算法的物联网设备集群协同方法及系统 | |
CN115134217B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112636950A (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 | ||
GR01 | Patent grant |