CN109739934B - 差集对账方法、介质、计算机设备及*** - Google Patents
差集对账方法、介质、计算机设备及*** Download PDFInfo
- Publication number
- CN109739934B CN109739934B CN201910017308.XA CN201910017308A CN109739934B CN 109739934 B CN109739934 B CN 109739934B CN 201910017308 A CN201910017308 A CN 201910017308A CN 109739934 B CN109739934 B CN 109739934B
- Authority
- CN
- China
- Prior art keywords
- order
- information
- order number
- reconciliation
- order data
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种差集对账方法、介质、计算机设备及***,方法包括以下步骤:获取第一订单数据并存储;读取第一订单数据,并进行格式转换以生成第一标准化信息,以及将第一标准化信息存储到Redis数据库;接收对账请求指令,并生成对账请求报文,以便支付渠道反馈账单下载地址;下载对账单文件,并进行解析以获得第二订单数据,以及进行格式转换以生成第二标准化信息;将第二标准化信息存储到Redis数据库,并对每笔第二标准化信息进行订单号提取以生成渠道订单号集合;生成本地订单号集合,并进行差集计算以获得差异订单号集合;能够实现对海量数据的快速读取解析,并提高了对账效率,同时,降低数据库的压力,保证***在处理海量数据时的正常运行。
Description
技术领域
本发明涉及账单核对技术领域,特别涉及一种差集对账方法、介质、计算机设备及***。
背景技术
对账,是为防止多个***对相同批次账单进行记录时产生不一致数据及单边数据而进行的核对行为,在现有的对账方法中,多通过对本地数据库中的数据表进行批量循环,而后对相同单号逐次从临时表中进行查找比对,接着将比对不一致的数据和单边数据进行打标处理,然后遍历临时表以及本地数据库获取打标异常数据。
然而,这种对账方式在处理海量级数据时,因对账数据的数据量庞大往往需要大量的对账时间,对账效率低下,且这种对账方式使得数据库的压力较高,容易因数据量过大而导致数据库服务中止。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种差集对账方法,能够实现对海量数据的快速读取解析,并以标准化形式对多个订单数据进行差集对账,提高了对账效率,同时,降低数据库的压力,保证***在处理海量数据时的正常运行。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种差集对账***。
为达到上述目的,本发明第一方面实施例提出了一种差集对账方法,包括以下步骤:获取第一订单数据,并将所述第一订单数据存储到对账库,其中,所述第一订单数据包括用户ID、支付渠道和交易信息;读取所述对账库中的第一订单数据,并对所述第一订单数据进行格式转换以生成第一标准化信息,以及根据所述交易信息中的订单号和本地标志为key将所述第一标准化信息存储到Redis数据库;接收对账请求指令,并根据所述对账请求指令、所述支付渠道和所述用户ID生成对账请求报文,以便所述支付渠道对应的服务器根据所述对账请求报文反馈账单下载地址;根据所述账单下载地址下载对账单文件,并对所述对账单文件进行解析以获得第二订单数据,以及对所述第二订单数据进行格式转换以生成第二标准化信息;根据所述第二订单数据中的订单号和渠道标志为key将所述第二标准化信息存储到所述Redis数据库,并对所述Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合;对所述Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合,并对所述渠道订单号集合和所述本地订单号集合进行差集计算以获得所述第一标准化信息中存在但所述第二标准化信息中不存在的差异订单号集合。
根据本发明实施例的差集对账方法,包括以下步骤:首先,获取第一订单数据,并将第一订单数据存储到对账库,其中,第一订单数据包括用户ID、支付渠道和交易信息;接着,读取对账库中的第一订单数据,并对第一订单数据进行格式转换以生成第一标准化信息,以及根据交易信息中的订单号和本地标志为key将第一标准化信息存储到Redis数据库;然后,接收对账请求指令,并根据对账请求指令、支付渠道和用户ID生成对账请求报文,以便支付渠道对应的服务器根据对账请求报文反馈账单下载地址;接着,根据账单下载地址下载对账单文件,并对对账单文件进行解析以获得第二订单数据,以及对第二订单数据进行格式转换以生成第二标准化信息;然后,根据第二订单数据中的订单号和渠道标志为key将第二标准化信息存储到Redis数据库,并对Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合;接着,对Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合,并对渠道订单号集合和本地订单号集合进行差集计算以获得第一标准化信息中存在但第二标准化信息中不存在的差异订单号集合;从而实现对海量数据的快速读取解析,并以标准化形式对多个订单数据进行差集对账,提高了对账效率,同时,降低数据库的压力,保证***在处理海量数据时的正常运行。
另外,根据本发明上述实施例提出的差集对账方法还可以具有如下附加的技术特征:
可选地,还包括根据差异订单号集合中的订单号和本地标志为key,对Redis数据库中的每笔第一标准化信息进行查询以获得处于成功状态的交易信息,并将处于成功状态的交易信息所对应的订单数据写到差错记录表中。
可选地,还包括根据所述差错记录表中的订单号将处于成功状态的交易信息更改为失败交易信息。
可选地,所述第一标准化信息和所述第二标准化信息为json格式字符串。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有差集对账程序,该差集对账程序被处理器执行时实现上述的差集对账方法。
为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时,实现如上述的差集对账方法。
为达到上述目的,本发明第四方面实施例提出了一种差集对账***,包括:获取模块,用于获取第一订单数据,其中,第一订单数据包括用户ID、支付渠道和交易信息;存储模块,用于将第一订单数据存储到对账库;读取模块,用于读取对账库中的第一订单数据;格式转化模块,用于对第一订单数据进行格式转换以生成第一标准化信息,并根据交易信息中的订单号和本地标志为key将第一标准化信息存储到Redis数据库;接收模块,用于接收对账请求指令;报文生成模块,用于根据对账请求指令、支付渠道和用户ID生成对账请求报文,以便支付渠道对应的服务器根据对账请求报文反馈账单下载地址;解析模块,用于根据账单下载地址下载对账单文件,并对对账单文件进行解析以获得第二订单数据;格式转化模块还用于,对第二订单数据进行格式转换以生成第二标准化信息,并根据第二订单数据中的订单号和渠道标志为key将第二标准化信息存储到Redis数据库;提取模块,用于对Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合,并对Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合;对账模块,用于对渠道订单号集合和本地订单号集合进行差集计算以获得第一标准化信息中存在但第二标准化信息中不存在的差异订单号集合。
根据本发明实施例差集对账***,包括:获取模块,用于获取第一订单数据,其中,第一订单数据包括用户ID、支付渠道和交易信息;存储模块,用于将第一订单数据存储到对账库;读取模块,用于读取对账库中的第一订单数据;格式转化模块,用于对第一订单数据进行格式转换以生成第一标准化信息,并根据交易信息中的订单号和本地标志为key将第一标准化信息存储到Redis数据库;接收模块,用于接收对账请求指令;报文生成模块,用于根据对账请求指令、支付渠道和用户ID生成对账请求报文,以便支付渠道对应的服务器根据对账请求报文反馈账单下载地址;解析模块,用于根据账单下载地址下载对账单文件,并对对账单文件进行解析以获得第二订单数据;格式转化模块还用于,对第二订单数据进行格式转换以生成第二标准化信息,并根据第二订单数据中的订单号和渠道标志为key将第二标准化信息存储到Redis数据库;提取模块,用于对Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合,并对Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合;对账模块,用于对渠道订单号集合和本地订单号集合进行差集计算以获得第一标准化信息中存在但第二标准化信息中不存在的差异订单号集合;从而实现对海量数据的快速读取解析,并以标准化形式对多个订单数据进行差集对账,提高了对账效率,同时,降低数据库的压力,保证***在处理海量数据时的正常运行。
另外,根据本发明上述实施例提出的差集对账***还可以具有如下附加的技术特征:
可选地,对账模块还用于,根据差异订单号集合中的订单号和本地标志为key,对Redis数据库中的每笔第一标准化信息进行查询以获得处于成功状态的交易信息,并将处于成功状态的交易信息所对应的订单数据写到差错记录表中。
可选地,对账模块还用于,根据差错记录表中的订单号将处于成功状态的交易信息更改为失败交易信息。
可选地,第一标准化信息和第二标准化信息为json格式字符串。
附图说明
图1为根据本发明实施例的差集对账方法的流程示意图;
图2为根据本发明另一实施例的差集对账方法的流程示意图;
图3为根据本发明实施例的差集对账***的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在现有的对账方法中,对于海量级数据的处理效率低下,且处理方式对于数据库的压力较高,容易导致数据库服务中止,根据本发明实施例的差集对账方法,包括以下步骤:首先,获取第一订单数据,并将第一订单数据存储到对账库,其中,第一订单数据包括用户ID、支付渠道和交易信息;接着,读取对账库中的第一订单数据,并对第一订单数据进行格式转换以生成第一标准化信息,以及根据交易信息中的订单号和本地标志为key将第一标准化信息存储到Redis数据库;然后,接收对账请求指令,并根据对账请求指令、支付渠道和用户ID生成对账请求报文,以便支付渠道对应的服务器根据对账请求报文反馈账单下载地址;接着,根据账单下载地址下载对账单文件,并对对账单文件进行解析以获得第二订单数据,以及对第二订单数据进行格式转换以生成第二标准化信息;然后,根据第二订单数据中的订单号和渠道标志为key将第二标准化信息存储到Redis数据库,并对Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合;接着,对Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合,并对渠道订单号集合和本地订单号集合进行差集计算以获得第一标准化信息中存在但第二标准化信息中不存在的差异订单号集合;从而实现对海量数据的快速读取解析,并以标准化形式对多个订单数据进行差集对账,提高了对账效率,同时,降低数据库的压力,保证***在处理海量数据时的正常运行。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例的差集对账方法的流程示意图,如图1所示,该差集对账方法包括:
S101,获取第一订单数据,并将第一订单数据存储到对账库,其中,第一订单数据包括用户ID、支付渠道和交易信息。
也就是说,对第一订单数据进行获取,并在获取到第一订单数据之后将第一订单数据存储到对账库中。
作为一种示例,数据库中包含多个商户ID以及各商户ID对应的支付渠道对应的订单信息,从而,通过sql脚本对第一订单数据进行获取,具体地,首先,通过sql脚本根据获取指令将商户“A001”、支付渠道为“支付宝”的订单信息进行复制,接着,将复制所得订单信息作为第一订单数据存储到对账库中;其中,sql脚本指的是由sql语句组合起来的命令集,sql语句可以为:select * from、update table set 、delete from等,在此不对sql语句的具体书写方式进行限定。
S102,读取对账库中的第一订单数据,并对第一订单数据进行格式转换以生成第一标准化信息,以及根据交易信息中的订单号和本地标志为key将第一标准化信息存储到Redis数据库。
也就是说,对对账库进行读取,以提取其中的第一订单数据,然后,将第一订单数据的格式进行转换,以生成第一标准化信息,并以交易信息中的订单号和本地标志作为key将第一标准化信息存储到Redis数据库中,从而,将第一订单数据进行格式标准化设置,可以加快对于海量数据进行处理过程中的对账效率,降低服务器的运行压力。
作为一种示例,该第一标准化信息为json格式字符串,其中,json格式是一种轻量级的数据交换格式,它是基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。其易于机器解析和生成,可有效地提升网络传输效率,从而进一步地加快该差集对账方法的对账效率。
作为一种示例,读取对账库的第一订单数据,并将第一订单数据中的每笔订单信息转换成json格式字符串,然后,以“订单号+local”为key,将每个订单逐笔存到Redis数据库中。
S103,接收对账请求指令,并根据对账请求指令、支付渠道和用户ID生成对账请求报文,以便支付渠道对应的服务器根据对账请求报文反馈账单下载地址。
即言,接收不同用户发送的对账请求指令,并根据该对账请求指令、支付渠道和用户ID生成对应的对账请求报文,然后将该对账请求报文发送给对应的支付渠道,以便支付渠道在接收到对账请求报文之后反馈账单下载地址。
其中,对账请求指令可以是***按照预设的逻辑自动生成,也可以是用户根据自身查询需求生成的。
作为一种示例,用户需要查询自身商户ID的账单时,通过外部设备输入用户ID、所需查询的账单对应的支付渠道以及所需查询的账单产生的时间区间,并生成对应的对账请求指令,以及将该对账请求指令发送给平台。
作为另一种示例,平台对对账频率进行预设,具体地,当对账频率为每日核对时,则每日凌晨0点时,平台根据各用户ID以及各用户ID中包含的支付渠道生成对账请求指令,并在对账请求指令生成之后,生成对应的对账请求报文,并将对账请求报文发送至对应的支付渠道,以便各支付渠道在接收到对账请求报文之后返回账单下载地址。
S104,根据账单下载地址下载对账单文件,并对对账单文件进行解析以获得第二订单数据,以及对第二订单数据进行格式转换以生成第二标准化信息。
也就是说,对对账单文件进行下载,并在下载完成之后,对该账单文件进行解析,以获取第二订单数据,其中,该第二订单数据即包含对账请求报文中所请求的每笔交易信息、用户ID以及支付渠道,然后,在解析获得第二订单数据之后,将第二订单数据进行格式转换以生成第二标准化信息;从而将第二订单数据进行标准化处理,以进一步提高该差集对账方法在处理海量数据时的对账效率。
作为一种示例,根据支付渠道返回的账单下载地址对对账单进行下载,下载完成之后,逐行对对账单文件进行解析以获取其中的每笔订单信息,并将每笔订单信息进行格式转换,以转换成json格式字符串,从而达到提高差集对账方法处理海量数据的对账效率。
S105,根据第二订单数据中的订单号和渠道标志为key将第二标准化信息存储到Redis数据库,并对Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合。
也就是说,在对第二订单数据中的各订单信息进行标准化格式转换之后,将第二订单数据中的订单号和渠道标志作为key,并将第二标准化信息存储入Redis数据库,以及对Redis数据库中的每笔第二标准化信息进行订单号提取以生成渠道订单号集合。
作为一种示例,在完成第二订单数据的转换并生成第二标准化信息之后,将每笔订单信息以“订单号+channel”为key逐笔存储到Redis数据库中,然后,解析第二标准化信息中的每笔订单信息中的订单号,并保存到列表“orders”,以及以“key,list”的方式将订单号存储到Redis数据库中,其中,该key为“ids_channel”;以此完成将第二标准化信息中的订单号进行提取一生成渠道订单号集合的过程。
S106,对Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合,并对渠道订单号集合和本地订单号集合进行差集计算以获得第一标准化信息中存在但第二标准化信息中不存在的差异订单号集合。
也就是说,对存储在Redis数据库中第一标准化信息进行读取,以获取每笔第一标准化信息中所包含的订单号,并根据提取到的订单号生成本地订单号集合,然后,对渠道订单号集合和本地订单号集合进行差集计算,以获得第一标准化信息中存在但是第二标准化信息中不存在的差异订单号集合。
作为一种示例,将对账库中的第一标准化信息中的订单号读取到内存中,并以“key,list”的方式将其存储到Redis数据库中,其中该key为“ids_local”;接着,通过Redis中的sdiff方法,将集合“ids_local”与集合“ids_channel”进行差集计算,以找出第一标准化信息中订单号与第二标准化信息中订单号之间的差异订单号差集,并将不存在第二标准化信息中却存在第一标准化订单中的订单号存入差异订单号差集“difference_set”;以此达成通过差异计算对第一标准化信息和第二标准化信息的账单进行快速核对的目的。
如图2所示,在一些实施例中,为了使得本发明实施例提出的差集对账方法更加贴合用户的使用需求,进一步增强该差集对账方法的对账效果,本发明实施例提出的差集对账方法还包括:
S107,根据差异订单号集合中的订单号和本地标志为key,对Redis数据库中的每笔第一标准化信息进行查询以获得处于成功状态的交易信息,并将处于成功状态的交易信息所对应的订单数据写到差错记录表中。
S108,根据差错记录表中的订单号将处于成功状态的交易信息更改为失败交易信息。
也就是说,在形成差异订单号差集“difference_set”之后,以该差异订单号差集“difference_set”中的订单号和本地标志为key,对Redis数据库中的第一标准化信息进行查询,以获取该差异订单号差集“difference_set”中的订单号在第一标准化信息中交易信息处于成功状态的交易信息对应的订单号,并将该处于成功状态的交易信息对应的订单数据写到差错记录表中,然后,根据差错记录表中的订单号将处于成功状态的交易信息更改为失败交易信息;需要说明的是,在将处于成功状态的交易信息更改为失败交易信息之前,可根据订单信息对该差异结果进行进一步地审核,以发现出错原因,其中,该审核行为可以是通过人工审核,也可以是通过***预设审核策略进行自动审核。
作为一种示例,在形成差异订单号差集“difference_set”之后,以“订单号+local”为key,查询Redis数据库,以获取Redis数据库中差异订单号差集中订单号对应的第一标准化信息中的交易信息,并截取其中处于成功状态的交易信息,以及将该处于成功状态的交易信息写入差错记录表中,然后,以差异订单号差集“difference_set”中的订单号为条件,对对账库中的交易信息进行更新,以将其中处于成功状态的交易信息更改为失败状态。
综上所述,根据本发明实施例的差集对账方法,包括以下步骤:首先,获取第一订单数据,并将第一订单数据存储到对账库,其中,第一订单数据包括用户ID、支付渠道和交易信息;接着,读取对账库中的第一订单数据,并对第一订单数据进行格式转换以生成第一标准化信息,以及根据交易信息中的订单号和本地标志为key将第一标准化信息存储到Redis数据库;然后,接收对账请求指令,并根据对账请求指令、支付渠道和用户ID生成对账请求报文,以便支付渠道对应的服务器根据对账请求报文反馈账单下载地址;接着,根据账单下载地址下载对账单文件,并对对账单文件进行解析以获得第二订单数据,以及对第二订单数据进行格式转换以生成第二标准化信息;然后,根据第二订单数据中的订单号和渠道标志为key将第二标准化信息存储到Redis数据库,并对Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合;接着,对Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合,并对渠道订单号集合和本地订单号集合进行差集计算以获得第一标准化信息中存在但第二标准化信息中不存在的差异订单号集合;从而实现对海量数据的快速读取解析,并以标准化形式对多个订单数据进行差集对账,提高了对账效率,同时,降低数据库的压力,保证***在处理海量数据时的正常运行。
为了实现上述实施例,本发明实施例还提出了一种计算机可读存储介质,其上存储有差集对账程序,该差集对账程序被处理器执行时实现上述的差集对账方法。
为了实现上述实施例,本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时,实现如上述的差集对账方法。
为了实现上述实施例,本发明实施例还提出了一种差集对账***,如图3所示,该差集对账***包括:获取模块10、存储模块20、读取模块30、格式转化模块40、接收模块50、报文生成模块60、解析模块70、提取模块80和对账模块90。
其中,获取模块10,用于获取第一订单数据,其中,第一订单数据包括用户ID、支付渠道和交易信息。
存储模块20,用于将第一订单数据存储到对账库;
读取模块30,用于读取对账库中的第一订单数据;
格式转化模块40,用于对第一订单数据进行格式转换以生成第一标准化信息,并根据交易信息中的订单号和本地标志为key将第一标准化信息存储到Redis数据库;
接收模块50,用于接收对账请求指令;
报文生成模块60,用于根据对账请求指令、支付渠道和用户ID生成对账请求报文,以便支付渠道对应的服务器根据对账请求报文反馈账单下载地址;
解析模块70,用于根据账单下载地址下载对账单文件,并对对账单文件进行解析以获得第二订单数据;
格式转化模块40还用于,对第二订单数据进行格式转换以生成第二标准化信息,并根据第二订单数据中的订单号和渠道标志为key将第二标准化信息存储到Redis数据库;
提取模块80,用于对Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合,并对Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合;
对账模块90,用于对渠道订单号集合和本地订单号集合进行差集计算以获得第一标准化信息中存在但第二标准化信息中不存在的差异订单号集合。
在一些实施例中,为了使得本发明实施例提出的差集对账方法更加贴合用户的使用需求,进一步增强该差集对账方法的对账效果,对账模块90还用于根据差异订单号集合中的订单号和本地标志为key,对Redis数据库中的每笔第一标准化信息进行查询以获得处于成功状态的交易信息,并将处于成功状态的交易信息所对应的订单数据写到差错记录表中;以及根据差错记录表中的订单号将处于成功状态的交易信息更改为失败交易信息。
在一些实施例中,为了进一步提高该差集对账***在处理海量数据时的对账效率,第一标准化信息和第二标准化信息为json格式字符串。
需要说明的是,上述关于图1中差集对账方法的描述同样适用于该差集对账***,在此不做赘述。
综上所述,根据本发明实施例的差集对账***,包括:获取模块,用于获取第一订单数据,其中,第一订单数据包括用户ID、支付渠道和交易信息;存储模块,用于将第一订单数据存储到对账库;读取模块,用于读取对账库中的第一订单数据;格式转化模块,用于对第一订单数据进行格式转换以生成第一标准化信息,并根据交易信息中的订单号和本地标志为key将第一标准化信息存储到Redis数据库;接收模块,用于接收对账请求指令;报文生成模块,用于根据对账请求指令、支付渠道和用户ID生成对账请求报文,以便支付渠道对应的服务器根据对账请求报文反馈账单下载地址;解析模块,用于根据账单下载地址下载对账单文件,并对对账单文件进行解析以获得第二订单数据;格式转化模块还用于,对第二订单数据进行格式转换以生成第二标准化信息,并根据第二订单数据中的订单号和渠道标志为key将第二标准化信息存储到Redis数据库;提取模块,用于对Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合,并对Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合;对账模块,用于对渠道订单号集合和本地订单号集合进行差集计算以获得第一标准化信息中存在但第二标准化信息中不存在的差异订单号集合;从而实现对海量数据的快速读取解析,并以标准化形式对多个订单数据进行差集对账,提高了对账效率,同时,降低数据库的压力,保证***在处理海量数据时的正常运行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征 “上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种差集对账方法,其特征在于,包括以下步骤:
获取第一订单数据,并将所述第一订单数据存储到对账库,其中,所述第一订单数据包括用户ID、支付渠道和交易信息;
读取所述对账库中的第一订单数据,并对所述第一订单数据进行格式转换以生成第一标准化信息,以及根据所述交易信息中的订单号和本地标志为key将所述第一标准化信息存储到Redis数据库;
接收对账请求指令,并根据所述对账请求指令、所述支付渠道和所述用户ID生成对账请求报文,以便所述支付渠道对应的服务器根据所述对账请求报文反馈账单下载地址;
根据所述账单下载地址下载对账单文件,并对所述对账单文件进行解析以获得第二订单数据,以及对所述第二订单数据进行格式转换以生成第二标准化信息;
根据所述第二订单数据中的订单号和渠道标志为key将所述第二标准化信息存储到所述Redis数据库,并对所述Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合;
对所述Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合,并对所述渠道订单号集合和所述本地订单号集合进行差集计算以获得所述第一标准化信息中存在但所述第二标准化信息中不存在的差异订单号集合;
其中,获取第一订单数据包括:
通过sql脚本根据获取指令对数据库中相应的订单信息进行复制,以将复制得到的订单信息作为第一订单数据,所述数据库中包含多个商户ID以及各商户ID对应的支付渠道对应的订单信息。
2.如权利要求1所述的差集对账方法,其特征在于,还包括:
根据所述差异订单号集合中的订单号和本地标志为key,对所述Redis数据库中的每笔第一标准化信息进行查询以获得处于成功状态的交易信息,并将处于成功状态的交易信息所对应的订单数据写到差错记录表中。
3.如权利要求2所述的差集对账方法,其特征在于,还包括:
根据所述差错记录表中的订单号将处于成功状态的交易信息更改为失败交易信息。
4.如权利要求1-3中任一项所述的差集对账方法,其特征在于,所述第一标准化信息和所述第二标准化信息为json格式字符串。
5.一种计算机可读存储介质,其特征在于,其上存储有差集对账程序,该差集对账程序被处理器执行时实现如权利要求1-4中任一项所述的差集对账方法。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求1-4中任一项所述的差集对账方法。
7.一种差集对账***,其特征在于,包括:
获取模块,用于获取第一订单数据,其中,所述第一订单数据包括用户ID、支付渠道和交易信息;
存储模块,用于将所述第一订单数据存储到对账库;
读取模块,用于读取所述对账库中的第一订单数据;
格式转化模块,用于对所述第一订单数据进行格式转换以生成第一标准化信息,并根据所述交易信息中的订单号和本地标志为key将所述第一标准化信息存储到Redis数据库;
接收模块,用于接收对账请求指令;
报文生成模块,用于根据所述对账请求指令、所述支付渠道和所述用户ID生成对账请求报文,以便所述支付渠道对应的服务器根据所述对账请求报文反馈账单下载地址;
解析模块,用于根据所述账单下载地址下载对账单文件,并对所述对账单文件进行解析以获得第二订单数据;
所述格式转化模块还用于,对所述第二订单数据进行格式转换以生成第二标准化信息,并根据所述第二订单数据中的订单号和渠道标志为key将所述第二标准化信息存储到所述Redis数据库;
提取模块,用于对所述Redis数据库中每笔第二标准化信息进行订单号提取以生成渠道订单号集合,并对所述Redis数据库中每笔第一标准化信息进行订单号提取以生成本地订单号集合;
对账模块,用于对所述渠道订单号集合和所述本地订单号集合进行差集计算以获得所述第一标准化信息中存在但所述第二标准化信息中不存在的差异订单号集合;
其中,获取第一订单数据包括:
通过sql脚本根据获取指令对数据库中相应的订单信息进行复制,以将复制得到的订单信息作为第一订单数据,所述数据库中包含多个商户ID以及各商户ID对应的支付渠道对应的订单信息。
8.如权利要求7所述的差集对账***,其特征在于,所述对账模块还用于,根据所述差异订单号集合中的订单号和本地标志为key,对所述Redis数据库中的每笔第一标准化信息进行查询以获得处于成功状态的交易信息,并将处于成功状态的交易信息所对应的订单数据写到差错记录表中。
9.如权利要求8所述的差集对账***,其特征在于,所述对账模块还用于,根据所述差错记录表中的订单号将处于成功状态的交易信息更改为失败交易信息。
10.如权利要求7-9中任一项所述的差集对账***,其特征在于,所述第一标准化信息和所述第二标准化信息为json格式字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910017308.XA CN109739934B (zh) | 2019-01-08 | 2019-01-08 | 差集对账方法、介质、计算机设备及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910017308.XA CN109739934B (zh) | 2019-01-08 | 2019-01-08 | 差集对账方法、介质、计算机设备及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739934A CN109739934A (zh) | 2019-05-10 |
CN109739934B true CN109739934B (zh) | 2023-03-24 |
Family
ID=66363940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910017308.XA Active CN109739934B (zh) | 2019-01-08 | 2019-01-08 | 差集对账方法、介质、计算机设备及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739934B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188103A (zh) * | 2019-05-27 | 2019-08-30 | 深圳乐信软件技术有限公司 | 数据对账方法、装置、设备和存储介质 |
CN110197424A (zh) * | 2019-05-31 | 2019-09-03 | 上海银行股份有限公司 | 基于Redis的对账平台*** |
CN110188136A (zh) * | 2019-06-10 | 2019-08-30 | 四川长虹电器股份有限公司 | 一种基于银企直联的组件化对账***及其对账方法 |
CN110298740A (zh) * | 2019-06-24 | 2019-10-01 | 深圳乐信软件技术有限公司 | 数据对账方法、装置、设备以及存储介质 |
CN110544080A (zh) * | 2019-07-03 | 2019-12-06 | 威富通科技有限公司 | 一种支付对账方法及服务器 |
CN110443690A (zh) * | 2019-08-15 | 2019-11-12 | 深圳乐信软件技术有限公司 | 一种差异数据对账的方法、装置、服务器和存储介质 |
CN110599318A (zh) * | 2019-08-29 | 2019-12-20 | 凡普数字技术有限公司 | 对账方法、装置以及存储介质 |
CN110751550B (zh) * | 2019-10-12 | 2022-09-13 | 未鲲(上海)科技服务有限公司 | 对账方法、装置、计算机设备和存储介质 |
CN111125117A (zh) * | 2019-12-27 | 2020-05-08 | 中国银行股份有限公司 | 对账处理方法及装置 |
CN111199373A (zh) * | 2019-12-30 | 2020-05-26 | 上海东普信息科技有限公司 | 物流订单管理方法、存储介质及电子设备 |
CN111476672B (zh) * | 2020-04-16 | 2023-07-14 | 中国大地财产保险股份有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN112671821B (zh) * | 2020-08-17 | 2023-04-18 | 紫光云技术有限公司 | 一种云计算网络设备配置差异比较方法 |
CN112069260A (zh) * | 2020-09-09 | 2020-12-11 | 中国人民银行清算总中心 | 数据存储及对账方法和*** |
CN112270537B (zh) * | 2020-10-29 | 2022-01-25 | 广东通莞科技股份有限公司 | 一种多渠道账单的入库方法、***及存储介质 |
CN112258191A (zh) * | 2020-12-22 | 2021-01-22 | 深圳市深圳通有限公司 | 数据对账方法、装置、设备及存储介质 |
CN113065927A (zh) * | 2021-04-13 | 2021-07-02 | 北京健康之家科技有限公司 | 对账方法、装置、电子设备及计算机可读存储介质 |
CN113269554B (zh) * | 2021-05-12 | 2022-11-18 | 河北幸福消费金融股份有限公司 | 数据对比方法、***以及存储介质 |
CN113469797A (zh) * | 2021-06-30 | 2021-10-01 | 深圳汇商通盈科技有限公司 | 对账方法、装置、电子设备及存储介质 |
CN113554440A (zh) * | 2021-09-18 | 2021-10-26 | 深圳市深圳通有限公司 | 数据对帐方法、装置、设备及存储介质 |
CN114356454B (zh) * | 2022-01-06 | 2024-06-18 | 京东科技控股股份有限公司 | 对账数据处理方法、设备、存储介质及程序产品 |
CN114385367B (zh) * | 2022-01-14 | 2022-11-01 | 黑龙江省政务大数据中心 | 一种基于云管平台的资源管理*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089647A1 (en) * | 2016-09-27 | 2018-03-29 | Mastercard International Incorporated | System and method for electronically providing electronic transaction records |
CN107798109A (zh) * | 2017-11-01 | 2018-03-13 | 深圳市牛鼎丰科技有限公司 | 对账清算的方法、装置、计算机设备及存储介质 |
CN107909495A (zh) * | 2017-12-22 | 2018-04-13 | 泰康保险集团股份有限公司 | 一种对账方法、***、介质、电子设备 |
CN108985888B (zh) * | 2018-07-02 | 2022-04-12 | 上海瀚之友信息技术服务有限公司 | 一种对账***及对账方法 |
-
2019
- 2019-01-08 CN CN201910017308.XA patent/CN109739934B/zh active Active
Non-Patent Citations (1)
Title |
---|
redis实现对账(集合比较)功能;san.hang;《CSDN博客》;20180620;第1页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109739934A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739934B (zh) | 差集对账方法、介质、计算机设备及*** | |
CN108932257B (zh) | 多维度数据的查询方法及装置 | |
US20190332592A1 (en) | Test data generation and scale up for database testing using unique common factor sequencing | |
US20180260312A1 (en) | Test selection for application commit | |
CN110275861A (zh) | 数据存储方法及装置、存储介质、电子装置 | |
CN111078657A (zh) | 一种分布式***的业务日志查询方法、***、介质及设备 | |
CN108595324A (zh) | 测试案例复用管理方法及*** | |
CN110442371A (zh) | 一种发布代码的方法、装置、介质及计算机设备 | |
CN201402459Y (zh) | 一种测试用例管理装置 | |
CN107783974B (zh) | 数据处理***及方法 | |
CN114328981B (zh) | 基于模式映射的知识图谱建立和数据获取方法、装置 | |
CN107609151A (zh) | 基于Redis实现XBRL实例文档缓存的方法 | |
CN114386853A (zh) | 基于通用审核模型的数据审核处理方法、装置及设备 | |
CN112965912B (zh) | 接口测试用例生成方法、装置和电子设备 | |
CN109947739B (zh) | 数据源管理方法及装置 | |
CN115757479A (zh) | 数据库的查询优化方法、机器可读存储介质与计算机设备 | |
CN111352824B (zh) | 测试方法、装置及计算机设备 | |
US8423532B1 (en) | Managing data indexed by a search engine | |
CN114154944B (zh) | 业务审核方法、设备及计算机可读存储介质 | |
CN110795297B (zh) | 一种电子设备的测试方法及装置 | |
CN111191086B (zh) | 一种测试数据识别方法 | |
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CN115271902A (zh) | 一种报账单的预算处理方法、装置、设备及介质 | |
TWI549010B (zh) | Ifc工程資訊處理方法 | |
CN117149755A (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 |