CN112328545A - 对账文件生成方法、系统、装置和存储介质 - Google Patents

对账文件生成方法、系统、装置和存储介质 Download PDF

Info

Publication number
CN112328545A
CN112328545A CN202011209309.3A CN202011209309A CN112328545A CN 112328545 A CN112328545 A CN 112328545A CN 202011209309 A CN202011209309 A CN 202011209309A CN 112328545 A CN112328545 A CN 112328545A
Authority
CN
China
Prior art keywords
data
value
accounting data
reconciliation
queue
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
Application number
CN202011209309.3A
Other languages
English (en)
Other versions
CN112328545B (zh
Inventor
唐明东
王国梁
唐冲伟
谢正华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hebei Happy Consumption Finance Co ltd
Original Assignee
Hebei Happy Consumption Finance Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hebei Happy Consumption Finance Co ltd filed Critical Hebei Happy Consumption Finance Co ltd
Priority to CN202011209309.3A priority Critical patent/CN112328545B/zh
Publication of CN112328545A publication Critical patent/CN112328545A/zh
Application granted granted Critical
Publication of CN112328545B publication Critical patent/CN112328545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Library & Information Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本公开提供了一种对账文件生成方法、系统、装置和存储介质,其中,所述对账文件生成方法包括:获取账务数据,并将所述账务数据发送至消息队列;对所述消息队列中的账务数据依次进行排序处理、聚合处理和格式处理;从所述消息队列中获取处理后的账务数据,并根据所述处理后的账务数据生成对账文件。本公开所提供的对账文件生成方法通过实时消息驱动的方式,削减了等待时间和减少了数据复制次数,极大的缩减了对账文件生成时间。同时,通过排序处理、聚合处理和格式处理解决了异步消息无序、并发、多路聚合和文件格式化的难题。

Description

对账文件生成方法、系统、装置和存储介质
技术领域
本发明涉及计算机技术领域,更为具体而言,涉及一种对账文件生成方法、系统、装置和存储介质。
背景技术
在消费金融行业,企业之间常常会共同出资、共同承担风险并分享受益,称之为联合贷业务。为了确保数据一致,双方往往在交易发生的第二天,生成前一天的交易明细文件给到对方,作为对账依据。只有在收到对账文件并对账无误时,才能确认交易、财务打款、完成整个业务流程。在异常场景下,还需要留出差错处理时间。某些场景下,一方还需要将文件处理完毕,再度生成对账文件给它的下游合作方。因此,需要尽早生成对账文件并传输给对方。
现有技术实现方案按以下流程处理:首先,进行账务系统进行日终跑批,账务系统将数据记录到账务系统数据库,其次,对账系统再从账务系统数据库抽取数据到本地数据库,最后,对账系统再从本地数据库读取数据生成文件,并将文件上传到SFTP(Secret FileTransfer Protocol,安全文件传送协议)或者FTP(File Transfer Protocol,文件传输协议)约定的位置。
由此可见,现有技术时效性不高,出现大量等待和数据复制,从而使时间消耗在等待上,例如:等待账务跑批、等待抽数、等待取数完成等,以及数据复制上,例如:从账务系统数据库到本地数据库,从本地数据库到文件。从而无法满足尽早生成对账文件并传输给对方的需求。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种对账文件生成方法、系统和存储介质,可以极大的缩减了对账文件生成时间。
根据本发明的第一方面,本发明的实施方式提供了一种对账文件生成方法,所述对账文件生成方法包括:获取账务数据,并将所述账务数据发送至消息队列;对所述消息队列中的账务数据依次进行排序处理、聚合处理和格式处理;从所述消息队列中获取处理后的账务数据,并根据所述处理后的账务数据生成对账文件。
在本发明的一些实施方式中,所述排序处理包括:根据所述账务数据的消息类型和产品标识定位对应的排序缓冲器,所述排序缓冲器包括NEXT(下一个)指示器和升序队列;对比所述账务数据的seq(序列号)值和所述NEXT指示器的值,并根据对比结果执行所述排序处理;其中,所述升序队列为按照所述对账数据的seq值从小到大排列的空队列,用于在所述排序处理中存储所述对账数据。
在本发明的一些实施方式中,所述排序处理还包括:若所述账务数据的seq值和所述NEXT指示器的值相等,则将所述账务数据提交至聚合器等待所述聚合处理;检测所述账务数据的data(数据载体)标识,若所述data标识为End(结束),则向所述聚合器同步发送产品结束消息。
在本发明的一些实施方式中,所述排序处理还包括:将所述NEXT指示器的值加一,并对比所述NEXT指示器的值与所述升序队列的头元素列的值;若所述NEXT指示器的值与所述升序队列的头元素列的值相等,则检测所述头元素列中是否存储有对账数据;若所述头元素列中存储有对账数据,则将所述对账数据提交至所述聚合器等待所述聚合处理,并将所述头元素列移出所述升序队列,同时将所述NEXT指示器的值加一;若所述头元素列中没有存储对账数据,则将所述头元素列移出所述升序队列。
在本发明的一些实施方式中,所述排序处理还包括:若所述账务数据的seq值大于所述NEXT指示器的值,则根据所述账务数据的seq值将所述账务数据放入所述升序队列中相应的位置。
在本发明的一些实施方式中,所述排序处理还包括:若所述账务数据的seq值小于所述NEXT指示器的值,则舍弃所述账务数据。
在本发明的一些实施方式中,所述聚合处理包括:根据所述账务数据的accountorgId(资方标识)信息和type(类型)信息定位对应的状态表,所述状态表包括对应的格式输出器地址和完成状态标识;根据所述格式输出器地址将所述账务数据提交至格式输出器。
在本发明的一些实施方式中,所述聚合处理还包括:若接收到产品结束消息,则更新所述完成状态标识为结束,并检查所述状态表中所有的完成状态标识是否都为结束;若所述状态表中所有的完成状态标识都为结束,则通知所述格式输出器文件聚合结束,关闭文件输出流。
根据本发明的第二方面,本发明的实施方式提供了一种对账文件生成系统,所述对账文件生成系统包括:数据获取模块,用于获取账务数据,并将所述账务数据发送至消息队列;数据处理模块,包括排序器、聚合器和格式输出器,分别用于对所述消息队列中的账务数据进行排序处理、聚合处理和格式处理;文件生成模块,用于从所述消息队列中获取处理后的账务数据,并根据所述处理后的账务数据生成对账文件。
在本发明的一些实施方式中,所述排序器用于:根据所述账务数据的消息类型和产品标识定位对应的排序缓冲器,所述排序缓冲器包括NEXT指示器和升序队列;对比所述账务数据的seq值和所述NEXT指示器的值,并根据对比结果执行所述排序处理;其中,所述升序队列为按照所述对账数据的seq值从小到大排列的空队列,用于在所述排序处理中存储所述对账数据。
在本发明的一些实施方式中,所述排序器还用于:若所述账务数据的seq值和所述NEXT指示器的值相等,则将所述账务数据提交至聚合器等待所述聚合处理;检测所述账务数据的data标识,若所述data标识为End,则向所述聚合器同步发送产品结束消息。
在本发明的一些实施方式中,所述排序器还用于:将所述NEXT指示器的值加一,并对比所述NEXT指示器的值与所述升序队列的头元素列的值;若所述NEXT指示器的值与所述升序队列的头元素列的值相等,则检测所述头元素列中是否存储有对账数据;若所述头元素列中存储有对账数据,则将所述对账数据提交至所述聚合器等待所述聚合处理,并将所述头元素列移出所述升序队列,同时将所述NEXT指示器的值加一;若所述头元素列中没有存储对账数据,则将所述头元素列移出所述升序队列。
在本发明的一些实施方式中,所述排序器还用于:若所述账务数据的seq值大于所述NEXT指示器的值,则根据所述账务数据的seq值将所述账务数据放入所述升序队列中相应的位置。
在本发明的一些实施方式中,所述排序器还用于:若所述账务数据的seq值小于所述NEXT指示器的值,则舍弃所述账务数据。
在本发明的一些实施方式中,所述聚合器用于:根据所述账务数据的accountorgId信息和type信息定位对应的状态表,所述状态表包括对应的格式输出器地址和完成状态标识;根据所述格式输出器地址将所述账务数据提交至格式输出器。
在本发明的一些实施方式中,所述聚合器还用于:若接收到产品结束消息,则更新所述完成状态标识为结束,并检查所述状态表中所有的完成状态标识是否都为结束;若所述状态表中所有的完成状态标识都为结束,则通知所述格式输出器文件聚合结束,关闭文件输出流。
根据本发明的第三方面,本发明的实施方式提供了一种对账文件生成装置,包括存储器和处理器,所述存储器用于存储计算机可读指令;所述处理器用于执行所述计算机可读指令从而实现前述任一项实施方式所述的方法。
根据本发明的第四方面,本发明的实施方式还提供了一种计算机存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现前述任一项实施方式所述的方法。
本发明所提供的对账文件生成方法通过引入消息队列的实时消息驱动的方式,削减了等待时间和减少了数据复制次数,极大的缩减了对账文件生成时间。同时,通过排序处理、聚合处理和格式处理解决了异步消息无序、并发、多路聚合和文件格式化的难题。
附图说明
图1是根据本发明一种实施方式的对账文件生成方法的流程示意图;
图2是图1中排序处理的流程示意图;
图3是本发明一种实施方式的对账文件生成方法的排序器的示意图;
图4是本发明一种实施方式的对账文件生成方法的聚合器的示意图;
图5是根据本发明一种实施方式的对账文件生成系统的框图。
具体实施方式
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。
首先,对本发明所涉及的名词及缩写进行说明:
SFTP:SecretFile Transfer Protocol,安全文件传送协议;
FTP:File Transfer Protocol,文件传输协议;
Seq:序列号。
本发明的一种实施方式提供了一种对账文件生成方法,如图1所示,在本发明的实施方式中,该对账文件生成包括:
100:获取账务数据,并将账务数据发送至消息队列;
101:对消息队列中的账务数据依次进行排序处理、聚合处理和格式处理;
102:从消息队列中获取处理后的账务数据,并根据处理后的账务数据生成对账文件。
由此,在本实施方式中,通过引入消息队列的实时消息驱动的方式,,削减了等待时间和减少了数据复制次数,只需要一次消息队列读和写就可以完成对账文件生成,极大的缩减了对账文件生成时间。
但是,由于消息队列的异步消息方式,发送至消息队列中的账务数据面临着消息无序、不能并发、难以聚合多个产品数据到一个文件的问题。因此,在本实施方式中,通过对消息队列中的账务数据依次进行排序处理、聚合处理和格式处理,从而解决上述问题。
在本实施方式中,如图2所示,排序处理可以通过以下方式实现:
103:根据账务数据的消息类型和产品标识定位对应的排序缓冲器;
104:对比账务数据的seq值和NEXT指示器的值,并根据对比结果执行排序处理。
其中,每个排序缓冲器对应一个产品,该排序缓冲器包括NEXT指示器和升序队列。NEXT指示器的值用于表示需要处理的下一条账务数据的seq值,其值初始设置为0。该升序队列为按照对账数据的seq值从小到大排列的空队列,用于在排序处理中临时存储对账数据。
在本实施方式中,若账务数据的seq值和NEXT指示器的值相等,则将所述账务数据提交至聚合器等待所述聚合处理。同时,检测账务数据的data标识,若data标识为End,则说明该条账务数据为该产品对应的最后一条账务数据,因此,还需要向聚合器同步发送产品结束消息。
发送完成后,需要将NEXT指示器的值加一,并对比NEXT指示器的值与升序队列的头元素列的值。若NEXT指示器的值与升序队列的头元素列的值相等,则检测该头元素列中是否存储有对账数据。若头元素列中存储有对账数据,则将该对账数据提交至聚合器等待所述聚合处理,并将该头元素列移出升序队列,同时再次将NEXT指示器的值加一,并对比NEXT指示器的值与升序队列的新的头元素列的值。若该头元素列中没有存储对账数据,则直接将该头元素列移出升序队列。
在本实施方式中,若账务数据的seq值大于NEXT指示器的值,则说明当前还未处理到该账务数据的顺位,需要等待顺位在该账务数据之前的账务数据处理完成后,才能处理该账务数据。因此,可以根据该账务数据的seq值将该账务数据放入升序队列中相应的位置,等待后续调用。若账务数据的seq值小于NEXT指示器的值,则说明该账务数据已经处理过了。因此,可以直接舍弃该账务数据。由此,通过NEXT指示器的升序队列的配合,实现同一个产品的账务数据的排序,使其按照顺位依次进行处理。
在本实施方式中,对于提交至聚合器的账务数据,根据对账数据的accountorgId信息和type信息定位对应的状态表,每个状态表对应一个资方,该状态表包括对应的格式输出器地址和完成状态标识,由此,根据该格式输出器地址将对账信息提交至对应的格式输出器。当聚合器接收到一个产品结束消息时,则说明该产品对应的所有账务数据都已经接受完毕,因此,更新该产品对应的完成状态标识为结束,并检查该状态表中所有的完成状态标识是否都为结束。当所述状态表中所有的完成状态标识都为结束时,则说明该资方对应的所有产品的账务数据都已经接受完毕,因此,通知格式输出器文件聚合结束,关闭文件输出流。由此,实现同一个资方的多个产品的对账数据的聚合。
在本实施方式中,格式输出器中维护有其对应的资方对数据的格式要求表,格式输出器根据该格式要求表,对账务数据进行格式处理,将其转化为资方要求的格式。
由此,本发明所提供的对账文件生成方法通过引入消息队列的实时消息驱动的方式,削减了等待时间和减少了数据复制次数,极大的缩减了对账文件生成时间。同时,通过排序处理、聚合处理和格式处理解决了异步消息无序、并发、多路聚合和文件格式化的难题。
以下,将结合具体的实例对本发明的所提供的对账文件生成方法进行说明:
在本实施例中,账务数据的获取可以在日终跑批的同时进行处理,且可以同时对多个产品进行账务数据的获取。每处理一笔账务数据则需要向消息队列发送一条包含该账务数据的消息,消息包含的要素如下表所示:
表1:
字段 含义 格式 说明
type 消息类型 String 放款、还款、交易事件、还款计划
date 业务日 String yyyy-MM-dd
productId 产品编号 String
accountingorgId 资方标识 String
seq 序列号 int 从0开始计数
data 数据载体 JSON 结束标识的data固定为END
消息队列接收到包含该账务数据的消息后,启用消息处理机制,对该消息依次进行排序处理、聚合处理和格式处理。
在本实施例中,排序处理通过排序器执行,该排序器内部维护了一颗排序缓冲器的树形结构,如图3所示。每一个排序缓冲器对应一个产品,由一个NEXT指示器和一个升序队列组成,NEXT指示器的值用于表示需要处理的下一条消息的seq值,初始设置为0。升序队列为按照消息的seq值从小到大排列的空队列,用于在排序处理中临时存储消息。
排序器接收到消息后,根据消息中包含的消息类型和产品信息找到对应的排序缓冲器,然后做如下处理:
(1)如果消息seq=NEXT指示器的值,则把消息交给聚合器。然后执行如下处理:
①NEXT指示器的值加一;
②如果NEXT的值与升序队列的头元素列的值相同,则检测该头元素列中是否存储有消息,若存储有,则执行处理③,若没有,则执行处理④;
③将头元素列移出升序队列,并将其中的消息交给聚合器,跳转到处理①;
④将头元素列移出升序队列;
⑤检测该消息的data标识,若data=End,向聚合器发送产品结束消息。
(2)如果消息seq>NEXT指示器的值,则根据消息的seq值把消息插入升序队列中相应位置;
(3)如果消息seq<NEXT指示器的值,则舍弃该消息。
在本实施例中,聚合处理通过聚合执行,该聚合器内维护了一颗状态表的树形结构,如图4所示。每一个状态表对应一个资方,其中记录了该资方账务数据的格式输出器的地址和对应的产品的完成状态标识。
聚合器接收到来自排序器的消息后,根据消息中包含的accountorgId信息和type信息定位到对应的状态表,然后做如下处理:
(1)如果是普通消息,则根据状态表中的格式输出器地址将该消息交给格式输出器处理;
(2)如果是产品结束消息,则更新状态表中该产品的完成状态标识为结束。然后执行如下处理:
①检查该状态表中所有的产品的完成状态标识是否都为结束,若是则执行处理②,若不是,则不做处理;
②通知格式输出器文件聚合结束,可以关闭文件输出流,进行后续的压缩与上传处理。
在本实施例中,格式输出器中维护有其对应的资方对数据的格式要求表,格式输出器根据该格式要求表,对账务数据进行格式处理,将其转化为资方要求的格式。格式要求表如下表所示:
表2:
Figure BDA0002758266520000081
Figure BDA0002758266520000091
同时,在本实施例中,格式输出器是基于声明式的配置来实现的,方便不同资方对文件的不同要求。支持如下特性:
(1)字段剪裁,从账务系统消息中提取必要的字段;
(2)字段组织:
①JSON格式,此格式下字段无序指定顺序;
②字符分隔:
<1>字段排序,按照资方的要求字段顺序输出;
<2>字段分隔符,按照资方的要求分隔符对字段进行分隔输出;
(3)字段格式化,支持日期、数字、时间戳的格式化(支持EXCEL里的格式);
(4)支持文件重命名,文件以用固定部分+格式化日期+后缀来命名,各个部分都可以单独指定;
(5)支持文件压缩,可以指定zip、gz格式或者不压缩。
图5是根据本发明一种实施方式的对账文件生成系统1的框图,参照图5,该对账文件生成系统1可以包括:数据获取模块11,用于获取账务数据,并将账务数据发送至消息队列;数据处理模块12,包括排序器121、聚合器122和格式输出器123,分别用于对消息队列中的账务数据进行排序处理、聚合处理和格式处理;文件生成模块13,用于从消息队列中获取处理后的账务数据,并根据处理后的账务数据生成对账文件。
在本发明的实施方式中,排序器121用于根据账务数据的消息类型和产品标识定位对应的排序缓冲器,该排序缓冲器包括NEXT指示器和升序队列。并对比账务数据的seq值和NEXT指示器的值,并根据对比结果执行排序处理。其中,升序队列为按照对账数据的seq值从小到大排列的空队列,用于在排序处理中存储对账数据。
在本发明的实施方式中,排序器121还用于在账务数据的seq值和NEXT指示器的值相等时,将账务数据提交至聚合器122等待聚合处理,并检测该账务数据的data标识,若data标识为End,则向聚合器122同步发送产品结束消息。
在本发明的实施方式中,排序器121还用于在账务数据的seq值和NEXT指示器的值相等时,将NEXT指示器的值加一,并对比NEXT指示器的值与升序队列的头元素列的值。若NEXT指示器的值与升序队列的头元素列的值相等,则检测该头元素列中是否存储有对账数据。若该头元素列中存储有对账数据,则将对账数据提交至聚合器122等待所述聚合处理,并将该头元素列移出升序队列,同时将NEXT指示器的值再次加一,并重复之后的处理。若该头元素列中没有存储对账数据,则直接将该头元素列移出所述升序队列。
在本发明的实施方式中,排序器121还用于在账务数据的seq值大于NEXT指示器的值时,根据账务数据的seq值将账务数据放入升序队列中相应的位置。
在本发明的实施方式中,排序器121还用于在账务数据的seq值小于NEXT指示器的值时舍弃该账务数据。
在本发明的实施方式中,聚合器122用于根据对账信息的accountorgId信息和type信息定位对应的状态表,该状态表包括对应的格式输出器地址和完成状态标识,同时,根据格式输出器地址将对账信息提交至格式输出器123。
在本发明的实施方式中,聚合器122还用于在接收到产品结束消息时,更新完成状态标识为结束,并检查状态表中所有的完成状态标识是否都为结束。若状态表中所有的完成状态标识都为结束,则通知格式输出器123文件聚合结束,关闭文件输出流。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
因此,本发明实施方式还提供了一种计算机存储介质,存储有计算机程序,用于在执行时实现本发明前述实施方式或实现方式提供的对账文件生成方法。例如,所述存储介质可以包括硬盘、软盘、光盘、磁带、磁盘、优盘、闪存等。
本发明实施方式还提供了一种对账文件生成装置,该装置包括存储器,用于存储计算机可读指令;处理器,用于执行该计算机可读指令从而实现本发明前述实施方式或实现方式所提供的对账文件生成方法。可选地,在本发明实施方式的一种实现方式中,所述装置还可以包括用于进行数据通信的输入输出接口。例如,所述装置可以是计算机、智能终端、服务器等。
本文所公开的具体实施方式仅用于举例说明本发明,对于本领域技术人员而言,显然可以根据本文的教导进行各种修改,可以采用各种等同的方式实施本发明,因此,本发明上述公开的特定的实施方式仅仅是示例性的,其保护范围不受在此公开的结构或设计的细节所限,除非在权利要求中另有说明。因此,上述公开的特定的示例性的实施方式可进行各种替换、组合或修改,其所有的变形都落入本文公开的范围内。

Claims (18)

1.一种对账文件生成方法,其特征在于,所述对账文件生成方法包括:
获取账务数据,并将所述账务数据发送至消息队列;
对所述消息队列中的账务数据依次进行排序处理、聚合处理和格式处理;
从所述消息队列中获取处理后的账务数据,并根据所述处理后的账务数据生成对账文件。
2.如权利要求1所述的对账文件生成方法,其特征在于,所述排序处理包括:
根据所述账务数据的消息类型和产品标识定位对应的排序缓冲器,所述排序缓冲器包括NEXT指示器和升序队列;
对比所述账务数据的seq值和所述NEXT指示器的值,并根据对比结果执行所述排序处理;
其中,所述升序队列为按照所述对账数据的seq值从小到大排列的空队列,用于在所述排序处理中存储所述对账数据。
3.如权利要求2所述的对账文件生成方法,其特征在于,所述排序处理还包括:
若所述账务数据的seq值和所述NEXT指示器的值相等,则将所述账务数据提交至聚合器等待所述聚合处理;
检测所述账务数据的data标识,若所述data标识为End,则向所述聚合器同步发送产品结束消息。
4.如权利要求3所述的对账文件生成方法,其特征在于,所述排序处理还包括:
将所述NEXT指示器的值加一,并对比所述NEXT指示器的值与所述升序队列的头元素列的值;
若所述NEXT指示器的值与所述升序队列的头元素列的值相等,则检测所述头元素列中是否存储有对账数据;
若所述头元素列中存储有对账数据,则将所述对账数据提交至所述聚合器等待所述聚合处理,并将所述头元素列移出所述升序队列,同时将所述NEXT指示器的值加一;
若所述头元素列中没有存储对账数据,则将所述头元素列移出所述升序队列。
5.如权利要求2所述的对账文件生成方法,其特征在于,所述排序处理还包括:
若所述账务数据的seq值大于所述NEXT指示器的值,则根据所述账务数据的seq值将所述账务数据放入所述升序队列中相应的位置。
6.如权利要求2所述的对账文件生成方法,其特征在于,所述排序处理还包括:
若所述账务数据的seq值小于所述NEXT指示器的值,则舍弃所述账务数据。
7.如权利要求1所述的对账文件生成方法,其特征在于,所述聚合处理包括:
根据所述账务数据的accountorgId信息和type信息定位对应的状态表,所述状态表包括对应的格式输出器地址和完成状态标识;
根据所述格式输出器地址将所述账务数据提交至格式输出器。
8.如权利要求7所述的对账文件生成方法,其特征在于,所述聚合处理还包括:
若接收到产品结束消息,则更新所述完成状态标识为结束,并检查所述状态表中所有的完成状态标识是否都为结束;
若所述状态表中所有的完成状态标识都为结束,则通知所述格式输出器文件聚合结束,关闭文件输出流。
9.一种对账文件生成系统,其特征在于,所述对账文件生成系统包括:
数据获取模块,用于获取账务数据,并将所述账务数据发送至消息队列;
数据处理模块,包括排序器、聚合器和格式输出器,分别用于对所述消息队列中的账务数据进行排序处理、聚合处理和格式处理;
文件生成模块,用于从所述消息队列中获取处理后的账务数据,并根据所述处理后的账务数据生成对账文件。
10.如权利要求9所述的对账文件生成系统,其特征在于,所述排序器用于:
根据所述账务数据的消息类型和产品标识定位对应的排序缓冲器,所述排序缓冲器包括NEXT指示器和升序队列;
对比所述账务数据的seq值和所述NEXT指示器的值,并根据对比结果执行所述排序处理;
其中,所述升序队列为按照所述对账数据的seq值从小到大排列的空队列,用于在所述排序处理中存储所述对账数据。
11.如权利要求10所述的对账文件生成系统,其特征在于,所述排序器还用于:
若所述账务数据的seq值和所述NEXT指示器的值相等,则将所述账务数据提交至聚合器等待所述聚合处理;
检测所述账务数据的data标识,若所述data标识为End,则向所述聚合器同步发送产品结束消息。
12.如权利要求11所述的对账文件生成系统,其特征在于,所述排序器还用于:
将所述NEXT指示器的值加一,并对比所述NEXT指示器的值与所述升序队列的头元素列的值;
若所述NEXT指示器的值与所述升序队列的头元素列的值相等,则检测所述头元素列中是否存储有对账数据;
若所述头元素列中存储有对账数据,则将所述对账数据提交至所述聚合器等待所述聚合处理,并将所述头元素列移出所述升序队列,同时将所述NEXT指示器的值加一;
若所述头元素列中没有存储对账数据,则将所述头元素列移出所述升序队列。
13.如权利要求10所述的对账文件生成系统,其特征在于,所述排序器还用于:
若所述账务数据的seq值大于所述NEXT指示器的值,则根据所述账务数据的seq值将所述账务数据放入所述升序队列中相应的位置。
14.如权利要求10所述的对账文件生成系统,其特征在于,所述排序器还用于:
若所述账务数据的seq值小于所述NEXT指示器的值,则舍弃所述账务数据。
15.如权利要求9所述的对账文件生成系统,其特征在于,所述聚合器用于:
根据所述账务数据的accountorgId信息和type信息定位对应的状态表,所述状态表包括对应的格式输出器地址和完成状态标识;
根据所述格式输出器地址将所述账务数据提交至格式输出器。
16.如权利要求15所述的对账文件生成系统,其特征在于,所述聚合器还用于:
若接收到产品结束消息,则更新所述完成状态标识为结束,并检查所述状态表中所有的完成状态标识是否都为结束;
若所述状态表中所有的完成状态标识都为结束,则通知所述格式输出器文件聚合结束,关闭文件输出流。
17.一种对账文件生成装置,包括存储器和处理器,其特征在于,
所述存储器用于存储计算机可读指令;
所述处理器用于执行所述计算机可读指令以实现如权利要求1-8中任一项所述的方法。
18.一种计算机存储介质,存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-8中任一项所述的方法。
CN202011209309.3A 2020-11-03 2020-11-03 对账文件生成方法、系统、装置和存储介质 Active CN112328545B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011209309.3A CN112328545B (zh) 2020-11-03 2020-11-03 对账文件生成方法、系统、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011209309.3A CN112328545B (zh) 2020-11-03 2020-11-03 对账文件生成方法、系统、装置和存储介质

Publications (2)

Publication Number Publication Date
CN112328545A true CN112328545A (zh) 2021-02-05
CN112328545B CN112328545B (zh) 2022-11-22

Family

ID=74322983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011209309.3A Active CN112328545B (zh) 2020-11-03 2020-11-03 对账文件生成方法、系统、装置和存储介质

Country Status (1)

Country Link
CN (1) CN112328545B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448754A (zh) * 2021-06-28 2021-09-28 中国工商银行股份有限公司 对账方法、装置和电子设备
JP7240140B2 (ja) 2018-11-12 2023-03-15 株式会社オービック 取引データ照合装置、取引データ照合方法および取引データ照合プログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278270A1 (en) * 2004-06-14 2005-12-15 Hewlett-Packard Development Company, L.P. Data services handler
US20110202831A1 (en) * 2010-02-15 2011-08-18 Microsoft Coproration Dynamic cache rebinding of processed data
WO2017020740A1 (zh) * 2015-08-06 2017-02-09 阿里巴巴集团控股有限公司 库存数据对账方法及装置
CN107888672A (zh) * 2017-11-02 2018-04-06 深圳市牛鼎丰科技有限公司 账单数据处理方法、装置、存储介质和计算机设备
CN109034993A (zh) * 2018-09-29 2018-12-18 深圳前海微众银行股份有限公司 对账方法、设备、系统及计算机可读存储介质
CN110457311A (zh) * 2019-07-05 2019-11-15 中国平安财产保险股份有限公司 自动生成对账文件的方法、服务器及存储介质
CN110765091A (zh) * 2019-09-09 2020-02-07 上海陆家嘴国际金融资产交易市场股份有限公司 对账方法和系统
CN110865891A (zh) * 2019-09-29 2020-03-06 深圳市华力特电气有限公司 一种异步消息编排方法和装置
US20200169616A1 (en) * 2018-11-22 2020-05-28 Industrial Technology Research Institute Method and system for synchronizing publication and subscription of message queues
CN111784318A (zh) * 2020-06-29 2020-10-16 京东数字科技控股有限公司 数据处理方法、装置、电子设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278270A1 (en) * 2004-06-14 2005-12-15 Hewlett-Packard Development Company, L.P. Data services handler
US20110202831A1 (en) * 2010-02-15 2011-08-18 Microsoft Coproration Dynamic cache rebinding of processed data
WO2017020740A1 (zh) * 2015-08-06 2017-02-09 阿里巴巴集团控股有限公司 库存数据对账方法及装置
CN107888672A (zh) * 2017-11-02 2018-04-06 深圳市牛鼎丰科技有限公司 账单数据处理方法、装置、存储介质和计算机设备
CN109034993A (zh) * 2018-09-29 2018-12-18 深圳前海微众银行股份有限公司 对账方法、设备、系统及计算机可读存储介质
US20200169616A1 (en) * 2018-11-22 2020-05-28 Industrial Technology Research Institute Method and system for synchronizing publication and subscription of message queues
CN110457311A (zh) * 2019-07-05 2019-11-15 中国平安财产保险股份有限公司 自动生成对账文件的方法、服务器及存储介质
CN110765091A (zh) * 2019-09-09 2020-02-07 上海陆家嘴国际金融资产交易市场股份有限公司 对账方法和系统
CN110865891A (zh) * 2019-09-29 2020-03-06 深圳市华力特电气有限公司 一种异步消息编排方法和装置
CN111784318A (zh) * 2020-06-29 2020-10-16 京东数字科技控股有限公司 数据处理方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7240140B2 (ja) 2018-11-12 2023-03-15 株式会社オービック 取引データ照合装置、取引データ照合方法および取引データ照合プログラム
CN113448754A (zh) * 2021-06-28 2021-09-28 中国工商银行股份有限公司 对账方法、装置和电子设备

Also Published As

Publication number Publication date
CN112328545B (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN112328545B (zh) 对账文件生成方法、系统、装置和存储介质
CN112348514B (zh) 基于区块链的数据核对系统、方法、计算设备及存储介质
US20060004934A1 (en) Flexible and error resistant data buffering and connectivity
CN109656999B (zh) 大数据量的数据同步方法、设备、存储介质及装置
CN109189669A (zh) 业务场景的测试方法、电子装置及可读存储介质
CN106649500A (zh) 数据核对方法及系统
CN108830715A (zh) 批量文件部分回盘处理方法和系统
CN112907344A (zh) 账务数据的处理方法、装置、电子设备和存储介质
CN111090532A (zh) 应用服务的调用方法、其装置、电子设备及计算机存储介质
CN113222568B (zh) 一种航运业务结算方法、平台、设备、介质及产品
CN102541639B (zh) 一种cpu卡数据处理方法、系统及cpu卡
CN115687599B (zh) 业务数据处理方法、装置、电子设备及存储介质
CN111008088A (zh) 一种电能表数据采集任务汇聚方法及装置
CN112419052B (zh) 交易测试方法、装置、电子设备及可读存储介质
CN113360556B (zh) 一种数据处理方法、装置、设备和存储介质
CN112988775B (zh) 处理批量交易的方法、计算设备和存储介质
CN109600250A (zh) 业务系统故障通知方法、装置、电子装置及存储介质
CN115934044A (zh) 基于flowable的审批流程配置方法及装置
CN111031052B (zh) 基于多应用程序的数据处理方法、计算设备及存储介质
CN111625455A (zh) 一种程序测试方法、装置、设备和介质
CN111414553A (zh) 数据处理的系统、方法及存储介质
CN111309500A (zh) 业务处理方法、装置、设备及存储介质
CN107180054B (zh) 一种数据处理的方法和装置
CN116433383B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN117635081B (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