CN113010589A - 一种数据转换方法、系统及存储介质和服务器 - Google Patents
一种数据转换方法、系统及存储介质和服务器 Download PDFInfo
- Publication number
- CN113010589A CN113010589A CN202110138139.2A CN202110138139A CN113010589A CN 113010589 A CN113010589 A CN 113010589A CN 202110138139 A CN202110138139 A CN 202110138139A CN 113010589 A CN113010589 A CN 113010589A
- Authority
- CN
- China
- Prior art keywords
- bill
- user
- state
- target
- format
- 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
Images
Classifications
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Abstract
本发明实施例公开了一种数据转换方法、系统及存储介质和服务器,应用于信息处理技术领域。用户账单系统中通过第一数据模块和第二数据模块分别储存旧格式的用户账单和新格式的用户账单,用户账单系统会调用数据转换服务,将从第一数据模块中获取待转换用户账单发送给数据转换服务系统,同时还会将待转换用户账单对应用户的账单状态设置为账单转换中的状态,当接收到数据转换服务系统返回的转换后用户账单,将转换后用户账单储存到第二数据模块中。这样将执行数据转换的操作从用户账单系统中独立出来,设置到数据转换服务系统中,使得用户账单系统通过远程调用来实现数据转换,而用户账单系统只是用于储存用户账单,使得对用户账单的储存更安全。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种数据转换方法、系统及存储介质和服务器。
背景技术
在现有的支付系统比如微信支付系统中,在支付系统中可以包括支付终端和支付后台,当用户通过支付终端发起支付流程,并通过支付终端与支付后台的交互完成一项支付后,支付后台会将支付详情储存到用户账单系统中,当用户通过支付终端发起对支付详情的查看时,支付后台会向用户账单系统获取到相应的支付详情并返回给支付终端进行显示。
在用户账单系统中会储存支付系统中的支付详情,随着支付系统的不断更新,在用户账单系统中储存的支付详情的格式也会不断改变,这就需要用户账单系统返回给支付系统显示的支付详情的格式被当前最新的支付系统所支持,因此,用户账单系统会将旧格式的支付详情转换到新格式的支付详情,以适应当前最新的支付系统。
在现有的支付详情转换时,会在用户账单系统中预置由lib库编译形成的可执行的二进制文件,由用户账单系统直接调用该二进制文件,即可完成对支付详情的转换,但是当支付详情的转换规则发生变化时,需要修改lib库,并重新在用户账单系统中预置相应的二进制文件。
发明内容
本发明实施例提供一种数据转换方法、系统及存储介质和服务器,实现了由独立于用户账单系统之外的数据转换服务系统进行数据转换。
本发明实施例一方面提供一种数据转换方法,包括:
从第一数据模块中获取待转换用户账单,所述第一数据模块用于储存旧格式的用户账单,所述旧格式的用户账单为当前时刻之前的历史时间段内生成的任一格式的用户账单;
调用数据转换服务,且将所述待转换用户账单对应用户的账单状态设置为账单转换中的状态;
将所述待转换数据发送给数据转换服务系统,以便所述数据转换服务系统将所述待转换用户账单转换为新格式的用户账单,得到转换后用户账单;
接收所述数据转换服务系统返回的转换后用户账单,将所述转换后用户账单储存到第二数据模块中,所述第二数据模块用于储存新格式的用户账单,所述新格式的用户账单为当前一段时间内生成的某一格式的用户账单。
本发明实施例另一方面提供一种用户账单系统,包括:
账单获取单元,用于从第一数据模块中获取待转换用户账单,所述第一数据模块用于储存旧格式的用户账单,所述旧格式的用户账单为当前时刻之前的历史时间段内生成的任一格式的用户账单;
调用单元,用于调用数据转换服务;
状态设置单元,用于将所述待转换用户账单对应用户的账单状态设置为账单转换中的状态;
数据发送单元,用于将所述待转换数据发送给数据转换服务系统,以便所述数据转换服务系统将所述待转换用户账单转换为新格式的用户账单,得到转换后用户账单;
账单储存单元,用于接收所述数据转换服务系统返回的转换后用户账单,将所述转换后用户账单储存到第二数据模块中,所述第二数据模块用于储存新格式的用户账单,所述新格式的用户账单为当前一段时间内生成的某一格式的用户账单。
在本发明实施例另一方面的一种实现方式中,所述系统还包括:
账单生成单元,用于当目标用户对应的一项数值转移操作完成时,确定所述目标用户的目标账单状态;根据所述目标账单状态,生成与所述一项数值转移操作对应的目标用户账单;当所述目标用户账单为新格式的用户账单,将所述目标用户账单储存到所述第二数据模块中,当所述目标用户账单为旧格式的用户账单,将所述目标用户账单储存到所述第一数据模块中,当所述目标用户账单为新格式的用户账单和旧格式的用户账单,将所述目标用户账单相应地分别储存到所述第二数据模块和第一数据模块中。
结合本发明实施例另一方面的一种实现方式,在本实施例另一方面的另一种实现方式中:
所述账单生成单元,具体用于当所述目标账单状态为账单已转换完成的状态时,生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单和旧格式的用户账单;当所述目标账单状态为空时,生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单;当所述目标账单状态为未转换完成的状态时,生成与所述一项数值转移操作对应的目标用户账单包括旧格式的用户账单;当所述目标账单状态为账单转换中的状态时,等待所述目标用户的账单状态发生改变时,再生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单和旧格式的用户账单。
在本发明实施例另一方面的又一种实现方式中,所述系统还包括:
账单查看单元,用于接收对目标用户的账单查看请求;根据所述账单查看请求确定目标用户的目标账单状态;根据所述目标账单状态,从所述第一数据模块或从第二数据模块中获取对应的目标用户账单并返回。
结合本发明实施例另一方面的又一种实现方式,在本实施例另一方面的其它实现方式中:
所述账单查看单元,具体用于当所述目标账单状态为已转换完成的状态,从所述第二数据模块中获取对应的目标用户账单并返回;当所述目标账单状态为未转换完成的状态,从所述第一数据模块中获取对应的目标用户账单并返回;当所述目标账单状态为账单转换中的状态,等待所述目标账单状态发生改变时,从所述第二数据模块中获取对应的目标用户账单并返回。
本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如本发明实施例一方面所述的数据转换方法。
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如本发明实施例一方面所述的数据转换方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
可见,在本实施例的方法中,用户账单系统中通过第一数据模块和第二数据模块分别储存旧格式的用户账单和新格式的用户账单,用户账单系统会调用数据转换服务,将从第一数据模块中获取待转换用户账单发送给数据转换服务系统,同时还会将待转换用户账单对应用户的账单状态设置为账单转换中的状态,当接收到数据转换服务系统返回的转换后用户账单,将转换后用户账单储存到第二数据模块中。本实施例中将执行数据转换的操作从用户账单系统中独立出来,设置到数据转换服务系统中,使得用户账单系统通过远程调用来实现数据转换,而用户账单系统只是用于储存用户账单,使得对用户账单的储存更安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据转换的示意图;
图2是本发明一个实施例提供的一种数据转换的流程图;
图3是本发明一个实施例中生成并储存用户账单的方法流程图;
图4是本发明一个实施例中查看用户账单的方法流程图;
图5是本发明应用实施例中用户账单系统的结构示意图;
图6是本发明应用实施例中用户账单生成并储存的示意图;
图7是本发明应用实施例中用户账单转换的示意图;
图8是本发明应用实施例中用户账单查看的示意图;
图9是本发明另一应用实施例中数据转换方法所应用于的分布式系统的示意图;
图10是本发明另一应用实施例中区块结构的示意图;
图11是本发明实施例提供的一种用户账单系统的逻辑结构示意图;
图12是本发明实施例提供的一种服务器的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种数据转换方法,主要可以应用于对系统中储存的用户账单进行格式转换,如图1所示,用户账单系统可以通过如下步骤实现数据转换:
从第一数据模块中获取待转换用户账单,所述第一数据模块用于储存旧格式的用户账单,所述旧格式的用户账单为当前时刻之前的历史时间段内生成的任一格式的用户账单;调用数据转换服务,且将所述待转换用户账单对应用户的账单状态设置为账单转换中的状态;将所述待转换数据发送给数据转换服务系统,以便所述数据转换服务系统将所述待转换用户账单转换为新格式的用户账单,得到转换后用户账单;接收所述数据转换服务系统返回的转换后用户账单,将所述转换后用户账单储存到第二数据模块中,所述第二数据模块用于储存新格式的用户账单,所述新格式的用户账单为当前一段时间内生成的某一格式的用户账单。
这样,将执行数据转换的操作从用户账单系统中独立出来,设置到数据转换服务系统中,使得用户账单系统通过远程调用来实现数据转换,而用户账单系统只是用于储存用户账单,使得对用户账单的储存更安全。
本发明实施例提供一种数据转换方法,主要是用户账单系统所执行的方法,流程图如图2所示,包括:
步骤101,从第一数据模块中获取待转换用户账单,第一数据模块用于储存旧格式的用户账单,旧格式的用户账单为当前时刻之前的历史时间段内生成的任一格式的用户账单。
可以理解,用户账单系统可以按照一定的周期发起本实施例的数据转换流程,在本实施例中,用户账单系统中包括第一数据模块和第二数据模块,其中:
第一数据模块用于储存旧格式的用户账单,具体包括当前时刻之前的历史时间段内生成的任一格式的多个用户分别对应的用户账单,每个用户可以对应多项用户账单,每一项用户账单是基于一项数值转移操作(比如支付操作)而生成的,而随着数值转移应用版本的不断更新,使得在数值转移操作过程中生成的用户账单的格式也是各个版本的数值转移应用所支持的格式,是不断更新的,这样,第一数据模块中就会储存不同历史时间段的不同格式的用户账单,本实施例中,将历史时间段内生成的任一格式的用户账单称为旧格式的用户账单。
第二数据模块用于储存新格式的用户账单,具体包括当前一段时间内生成某一格式的多个用户分别对应的用户账单,每个用户可以对应多项用户账单,每一项用户账单是基于一项数值转移操作(比如支付操作)而生成的,而随着数值转移应用版本更新到最新版本,使得在数值转移操作过程中生成的用户账单的格式也是最新版本的数值转移应用所支持的格式,本实施例中称为新格式的用户账单。
具体地,当用户账单系统发起数据转换流程后,会从第一数据模块中获取到各个用户的用户账单作为待转换用户账单,以执行如下的流程。
步骤102,调用数据转换服务,且将待转换用户账单对应用户的账单状态设置为账单转换中的状态。这样,当需要储存该用户的新一项用户账单时,用户账单系统会根据账单转换中的状态进行等待,等待该用户的用户账单转换完成后,再储存该新一项用户账单。
在本实施例中,由于对待转换用户账单进行转换的操作是由独立于用户账单系统的另一数据转换服务系统来执行,而另一数据转换服务系统在实际应用中并不会部署在用户账单系统附近,则用户账单系统在调用数据转换服务时,一般采用远程调用的方法,比如采用远程过程调用协议(RPC)来调用数据转换服务。
进一步地,当第一数据模块中储存的某一用户的所有用户账单都转换为新格式的用户账单,将某一用户的账单状态设置为账单已转换完成的状态,这样,当需要储存某一用户的新一项用户账单时,用户账单系统会根据已转换完成的状态,直接将新一项用户账单储存为新格式的用户账单和旧格式的用户账单。这里,需要说明的是,将新一项用户账单储存为旧格式的用户账单,主要是为了防止从旧格式的用户账单转换成的新格式的用户账单出现问题。
在这种情况下,为了节省存储资源,在某一用户的账单状态为账单设置为已转换完成的状态的一段时间后,将第一数据模块中该用户的所有用户账单都删除。
进一步地,为了保证第二数据模块中的用户账单都准确无误,当需要删除第一数据模块中某一用户的用户账单之前,还需要将第一数据模块中储存的某一用户的用户账单与第二数据模块中储存的某一用户的用户账单进行校验,当校验通过时,删除第一数据模块中储存的某一用户的用户账单;当对该用户的某一项用户账单的校验未通过时,说明对于某一项用户账单的转换有误,则不会删除第一数据模块中储存的该项用户账单,而删除第二数据模块中储存的某一用户的该项用户账单,且将该用户的账单状态设置为未转换完成的状态。其中的校验操作主要是两个格式的用户账单中包含的具体信息(比如金额,支付商户信息等)是否一致,如果一致,则校验通过,否则校验未通过。
进一步地,当第一数据模块中储存的某一用户的任一项用户账单未转换为新格式的用户账单,将某一用户的账单状态设置为账单未转换完成的状态,这样,当需要储存某一用户的新一项用户账单时,用户账单系统会根据未转换完成的状态,将新一项用户账单同时储存为旧格式的用户账单。
进一步地,当需要储存某一用户的新一项用户账单时,用户账单系统如果确定该用户的用户账单的账单状态为空时,说明在系统中未储存该用户的任何用户账单,直接将新一项用户账单储存为新格式的用户账单。
步骤103,将待转换数据发送给数据转换服务系统,以便数据转换服务系统将待转换用户账单转换为新格式的用户账单,得到转换后用户账单。
本实施例中,由独立于用户账单系统的另一数据转换服务系统对待转换用户账单进行转换,这样,需要用户账单系统将待转换用户账单发送给数据转换服务系统进行数据转换。
在数据转换服务系统中预置有从任一旧格式的用户账单转换为新格式的用户账单的转换策略,当由于业务需求,需要生成最新格式的用户账单时,则会在数据转换服务系统中预置新的转换策略,新的转换策略可以包括:从用户账单系统中已储存格式的用户账单(包括第一数据模块和第二数据模块中的用户账单)转换到最新格式的用户账单的策略。另外可以理解的是,当由于业务需求,需要生成最新格式的用户账单时,用户账单系统的第一数据模块和第二数据模块中储存的用户账单都成为为旧格式的用户账单,则用户账单系统还可以将第二数据模块中的用户账单转移到第一数据模块中。
例如:在用户账单系统的第一数据模块中储存有格式1的用户账单和格式2的用户账单,都为旧格式的用户账单,而第二数据模块中储存格式3的用户账单为新格式的用户账单,当支付应用的版本发生改变,需要生成最新格式4的用户账单时,需要在数据转换服务系统中预置的策略包括:从格式1、2和3的用户账单分别到最新格式4的用户账单,且还需要用户账单系统将第二数据模块中的格式3的用户账单转移到第一数据模块中。
另外需要说明的是,当数据转换服务系统在将待转换用户账单转换为新格式的用户账单,得到转换后用户账单,可以发起对转换后用户账单进行校验,如果转换后用户账单与对应的旧格式的用户账单所包含的具体内容一致,则对转换后用户账单的校验通过,可以将转换后用户账单返回给用户账单系统;否则,重新对待转换用户账单进行转换,直到得到的转换后用户账单的校验通过,并返回给用户账单系统。
步骤104,接收数据转换服务系统返回的转换后用户账单,将转换后用户账单储存到第二数据模块中,第二数据模块用于储存新格式的用户账单,新格式的用户账单为当前一段时间内生成的某一格式的用户账单。
可见,在本实施例的方法中,用户账单系统中通过第一数据模块和第二数据模块分别储存旧格式的用户账单和新格式的用户账单,用户账单系统会调用数据转换服务,将从第一数据模块中获取待转换用户账单发送给数据转换服务系统,同时还会将待转换用户账单对应用户的账单状态设置为账单转换中的状态,当接收到数据转换服务系统返回的转换后用户账单,将转换后用户账单储存到第二数据模块中。本实施例中将执行数据转换的操作从用户账单系统中独立出来,设置到数据转换服务系统中,使得用户账单系统通过远程调用来实现数据转换,而用户账单系统只是用于储存用户账单,使得对用户账单的储存更安全。
需要说明的是,上述步骤101到104是将用户账单系统中旧格式的用户账单转换为新格式的用户账单的过程,如图3所示,在另一个具体的实施例中,用户账单系统可以通过如下步骤实现对用户账单的储存:
步骤201,当目标用户对应的一项数值转移操作完成时,确定目标用户的目标账单状态。
可以理解,用户(比如目标用户)可以通过操作数值转移终端,使得数据转移终端发起一项数值转移操作的流程并完成数值转移操作,比如通过微信终端完成商品支付等,则需要针对该项数值转移操作生成目标用户账单,首先,确定目标账单状态,该目标账单状态用于指示当前目标用户的用户账单是否完成转换的状态。
步骤202,根据目标账单状态,生成与上述一项数值转移操作对应的目标用户账单。
具体地,当目标账单状态为账单已转换完成的状态时,生成与一项数值转移操作对应的目标用户账单为新格式的用户账单和旧格式的用户账单;当目标账单状态为空时,生成与一项数值转移操作对应的目标用户账单为新格式的用户账单;当目标账单状态为未转换完成的状态时,分别生成与一项数值转移操作对应的目标用户账单包括旧格式的用户账单;当目标账单状态为账单转换中的状态时,等待目标用户的目标账单状态发生改变,主要是从账单转换中的状态更新为已转换完成的状态时,再生成与一项数值转移操作对应的目标用户账单为新格式的用户账单和旧格式的用户账单。
其中,目标账单状态为空是指用户账单系统中未设置该目标用户的账单状态,说明在用户账单系统中还未储存该目标用户的任何用户账单,则直接生成新格式的用户账单。
步骤203,当目标用户账单为新格式的用户账单,将目标用户账单储存到第二数据模块中,当目标用户账单为旧格式的用户账单,将目标用户账单储存到第一数据模块中,当目标用户账单为新格式的用户账单和旧格式的用户账单,将目标用户账单相应地分别储存到第二数据模块和第一数据模块中。
如图4所示,在其它具体的实施例中,用户账单系统可以通过如下步骤实现用户账单的查看:
步骤301,接收对目标用户的账单查看请求。
可以理解,用户可以通过数值转移系统发起对目标用户的用户账单的查看,这样,数值转移系统会发送账单查看请求给用户账单系统,其中,可以包括目标用户的用户标识,还可以包括所查看的时间段等。
步骤302,根据账单查看请求确定目标用户的目标账单状态。
步骤303,根据目标账单状态,从第一数据模块或从第二数据模块中获取对应的目标用户账单并返回。
具体地,当目标账单状态为已转换完成的状态,从第二数据模块中获取对应的目标用户账单并返回;当目标账单状态为未转换完成的状态,从第一数据模块中获取对应的目标用户账单并返回;当目标账单状态为账单转换中的状态,等待目标账单状态发生改变,主要是从账单转换中的状态更新为已转换完成的状态时,从第二数据模块中获取对应的目标用户账单并返回。
以下以一个具体的应用实例来说明本发明的数据转换方法,在本实施例中,用户账单系统具体可以为用户账单数据存储系统,其结构可以如图5所示,包括:接入服务模块、账单生成模块、第一数据模块、第二数据模块、索引模块、校验模块、用户地图和传输服务模块,其中:
接入服务模块,用于根据数值转移系统的业务判断用户账单系统的实际操作,需要生成用户账单并储存用户账单,或是需要将用户账单返回给数值转移系统,在本实施例中,数值转移系统具体可以为支付系统。
账单生成模块,用于生成各个用户的用户账单。
第一数据模块,用于储存旧格式的用户账单,具体包括当前时刻之前的历史时间段内生成的任一格式的用户账单。
第二数据模块,用于储存新格式的用户账单,具体包括当前一段时间内生成的某一格式的用户账单。
索引模块,用于储存各个用户的各项用户账单的索引,该索引用于唯一标识一项用户账单。
校验模块,用于当数据转换服务系统将旧格式的用户账单转换到新格式的用户账单,并储存到第二数据模块后,将第二数据模块中储存的新格式的用户账单与第一数据模块中储存的旧格式的用户账单进行校验。
用户地图,用于储存各个用户的账单状态。
传输服务模块,用于调用数据转换服务系统进行数据转换。
需要说明的是,本实施例的用户账单系统中包括校验模块,在其它具体的实施例中校验模块是独立于用户账单系统设置的,即校验模块单独设置在用户账单系统之外。
具体地,本实施例的方法可以包括如下几个部分:
(1)如图6所示,用户账单的生成及储存可以包括如下步骤,图6中只示出用户账单系统中与用户账单的生成及储存相关的结构,其它结构未示出:
步骤401,当用户1通过支付系统完成一项支付(即数值转移操作)时,用户账单系统中的接入服务模块可以从支付系统获取到该项支付的详细信息,可以包括支付金额、支付时间及支付商家等信息,确定需要生成并储存的对应的用户账单。
步骤402,接入服务模块触发账单生成模块生成对应的用户账单,具体地,账单生成模块向用户地图获取到上述一项支付对应用户的账单状态,然后根据获取的账单状态生成用户账单,并储存到第一数据模块或第二数据模块中。
具体地,当账单状态为已转换完成的状态,则账单生成模块直接生成新格式的用户账单和旧格式的用户账单,并分别储存到第二数据模块和第一数据模块中;当账单状态为未转换完成的状态,则账单生成模块分别生成新旧格式的用户账单,并储存到第一数据模块中;当账单状态为账单转换中的状态,则账单生成模块直接生成新格式的用户账单和旧格式的用户账单,并等待账单状态更新为已转换完成的状态时,将生成的用户账单分别储存到第二数据模块和第一数据模块中。
进一步地,账单生成模块在将用户的用户账单储存到第一数据模块或第二数据模块中后,会将用户账单的索引信息储存到索引模块中。其中,如果对同一用户的同一项支付分别生成旧格式的用户账单和新格式的用户账单,则需要生成一条相同索引信息,同时可以标识旧格式的用户账单和新格式的用户账单。
步骤403,校验模块会根据索引模块中的用户账单的索引信息,分别向第一数据模块和第二数据模块获取基于同一索引信息的两种格式的用户账单,并对这两种格式的用户账单进行校验,如果校验通过,说明数据转换成功;如果校验未通过,说明数据转换过程中有误,可以删除第二数据模块中该索引信息对应的用户账单。
(2)如图7所示,用户账单的转换可以包括如下步骤,图7中只示出用户账单系统中与用户账单的转换相关的结构,其它结构未示出:
步骤501,用户账单系统会按照一定的周期发起数据转换流程,具体地,触发用户账单系统中的传输服务模块向第一数据模块获取旧格式的用户账单作为待转换用户账单。
步骤502,传输服务模块调用远程的数据转换服务,将获取的待转换用户账单发送给数据转换服务系统,由数据转换服务系统将待转换用户账单转换为新格式的用户账单,并将转换后用户账单返回给传输服务模块;同时传输服务模块执行步骤503。
其中,当数据转换服务系统在将待转换用户账单转换为新格式的用户账单,得到转换后用户账单,可以向校验模块发起对转换后用户账单进行校验,如果校验模块确定转换后用户账单与对应的旧格式的用户账单所包含的具体内容一致,则对转换后用户账单的校验通过,数据转换服务系统可以将转换后用户账单返回给用户账单系统;否则,重新对待转换用户账单进行转换,直到校验模块对得到的转换后用户账单的校验通过,由数据转换服务系统将转换后用户账单返回给用户账单系统。
步骤503,传输服务模块设置待转换用户账单对应用户的账单状态为账单转换中的状态,并储存到用户地图中。
步骤504,传输服务模块将转换后用户账单储存到第二数据模块中。
(3)如图8所示,用户账单的查看可以包括如下步骤,图8中只示出用户账单系统中与用户账单的查看相关的结构,其它结构未示出:
步骤601,当用户1通过支付系统需要查看用户账单时,向用户账单系统发送账单查看请求,用户账单系统中的接入服务模块接收到账单查看请求,确定获取并返回对应的用户账单。
步骤602,接入服务模块从用户地图中获取账单查看请求对应用户的账单状态。
步骤603,接入服务模块根据获取的用户账单获取相应的用户账单,并返回给支付系统进行展示。
具体地,当账单状态为已转换完成的状态,从第二数据模块中获取对应的用户账单;当账单状态为未转换完成的状态,从第一数据模块中获取对应的用户账单;当账单状态为账单转换中的状态,等待目标账单状态发生改变时,从第二数据模块中获取对应的用户账单。
可见,本实施例中的方法可以实现如下的效果:
(1)通过用户账单系统远程调用独立于用户账单系统的数据转换服务系统来完成用户账单的转换,这样,当数据转换的策略发生变换时,只需更新数据转换服务系统中的转换策略即可,无需对用户账单系统进行变更,可扩展性高。
(2)数据转换服务系统在传输转换后用户账单时,会使用密钥对转换后用户账单进行加密,加密过程对用户账单系统透明,安全性高。
(3)当用户账单系统发起远程的数据转换服务的调用后,可以一次性返回转换后用户账单。
(4)当用户通过支付系统发生支付时,可以终止某次数据转换过程,当支付完成后继续进行数据转换,对用户体验无损。
以下以另一具体的应用实例来说明本发明中数据转换方法,本发明实施例中的用户账单系统主要为分布式系统100,该分布式系统可以包括客户端300及多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端),客户端300与节点200之间通过网络通信的形式连接。
以分布式系统为区块链系统为例,参见图9是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(P2P,Peer ToPeer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图9示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其它节点,供其它节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,在本实施例中,节点中的应用还包括实现数据转换功能的代码,该数据转换功能主要包括:
从第一数据模块中获取待转换用户账单,所述第一数据模块用于储存旧格式的用户账单,所述旧格式的用户账单为当前时刻之前的历史时间段内生成的任一格式的用户账单;调用数据转换服务,且将所述待转换用户账单对应用户的账单状态设置为账单转换中的状态;将所述待转换数据发送给数据转换服务系统,以便所述数据转换服务系统将所述待转换用户账单转换为新格式的用户账单,得到转换后用户账单;接收所述数据转换服务系统返回的转换后用户账单,将所述转换后用户账单储存到第二数据模块中,所述第二数据模块用于储存新格式的用户账单,所述新格式的用户账单为当前一段时间内生成的某一格式的用户账单。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图10为本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本发明实施例还提供一种用户账单系统,其结构示意图如图11所示,图中所示的数据转换服务系统是为了更好地说明用户账单系统的结构,图中未示出用户账单系统中包括的第一数据模块和第二数据模块,具体地,用户账单系统可以包括:
账单获取单元10,用于从第一数据模块中获取待转换用户账单,所述第一数据模块用于储存旧格式的用户账单,所述旧格式的用户账单为当前时刻之前的历史时间段内生成的任一格式的用户账单。
调用单元11,用于调用数据转换服务;
状态设置单元12,用于根据所述调用单元11的调用,将所述待转换用户账单对应用户的账单状态设置为账单转换中的状态。
该状态设置单元12,还用于当所述第一数据模块中储存的某一用户的所有用户账单都转换为新格式的用户账单,将所述某一用户的账单状态设置为账单已转换完成的状态;当所述第一数据模块中储存的某一用户的任一项用户账单未转换为新格式的用户账单,将所述某一用户的账单状态设置为账单未转换完成的状态。
数据发送单元13,用于根据所述调用单元11的调用,将所述账单获取单元10获取的待转换数据发送给数据转换服务系统,以便所述数据转换服务系统将所述待转换用户账单转换为新格式的用户账单,得到转换后用户账单;
账单储存单元14,用于接收所述数据转换服务系统返回的转换后用户账单,将所述转换后用户账单储存到第二数据模块中,所述第二数据模块用于储存新格式的用户账单,所述新格式的用户账单为当前一段时间内生成的某一格式的用户账单。
进一步地,本实施例的用户账单系统还可以包括:
校验单元15,用于当状态设置单元12将某一用户的账单状态为账单设置为已转换完成的状态的一段时间后,将所述第一数据模块中储存的某一用户的用户账单与所述第二数据模块中储存的某一用户的用户账单进行校验;当校验通过时,删除所述第一数据模块中储存的某一用户的用户账单;当对某一用户的某一项用户账单的校验未通过时,删除所述第二数据模块中储存的某一用户的某一项用户账单,且将所述某一用户的账单状态设置为未转换完成的状态。
账单生成单元16,用于当目标用户对应的一项数值转移操作完成时,确定所述目标用户的目标账单状态;根据所述目标账单状态,生成与所述一项数值转移操作对应的目标用户账单;当所述目标用户账单为新格式的用户账单,将所述目标用户账单储存到所述第二数据模块中,当所述目标用户账单为旧格式的用户账单,将所述目标用户账单储存到所述第一数据模块中,当所述目标用户账单为新格式的用户账单和旧格式的用户账单,将所述目标用户账单相应地分别储存到所述第二数据模块和第一数据模块中。
该账单生成单元16在生成与所述一项数值转移操作对应的目标用户账单时,具体用于当所述目标账单状态为账单已转换完成的状态时,生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单和旧格式的用户账单;当所述目标账单状态为空时,生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单;当所述目标账单状态为未转换完成的状态时,生成与所述一项数值转移操作对应的目标用户账单包括旧格式的用户账单;当所述目标账单状态为账单转换中的状态时,等待所述目标用户的账单状态发生改变时,再生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单和旧格式的用户账单。
账单查看单元17,用于接收对目标用户的账单查看请求;根据所述账单查看请求确定所述状态设置单元12设置的目标用户的目标账单状态;根据所述目标账单状态,从所述第一数据模块或从第二数据模块中获取对应的目标用户账单并返回。
该账单查看单元17,在根据所述目标账单状态,从所述第一数据模块或从第二数据模块中获取对应的目标用户账单并返回时,具体用于当所述目标账单状态为已转换完成的状态,从所述第二数据模块中获取对应的目标用户账单并返回;当所述目标账单状态为未转换完成的状态,从所述第一数据模块中获取对应的目标用户账单并返回;当所述目标账单状态为账单转换中的状态,等待所述目标账单状态发生改变时,从所述第二数据模块中获取对应的目标用户账单并返回。
转移单元18,用于当需要生成最新格式的用户账单时,将所述第二数据模块中的用户账单转移到所述第一数据模块中。
可见,在本实施例的用户账单系统中通过第一数据模块和第二数据模块分别储存旧格式的用户账单和新格式的用户账单,用户账单系统中的调用单元11会调用数据转换服务,数据发送单元13将从第一数据模块中获取待转换用户账单发送给数据转换服务系统,同时状态设置单元12还会将待转换用户账单对应用户的账单状态设置为账单转换中的状态,当账单储存单元14接收到数据转换服务系统返回的转换后用户账单,将转换后用户账单储存到第二数据模块中。本实施例中将执行数据转换的操作从用户账单系统中独立出来,设置到数据转换服务系统中,使得用户账单系统通过远程调用来实现数据转换,而用户账单系统只是用于储存用户账单,使得对用户账单的储存更安全。
本发明实施例还提供一种服务器,其结构示意图如图12所示,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在服务器上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括数据转换的应用程序,且该程序可以包括上述用户账单系统中的账单获取单元10,调用单元11,状态设置单元12,数据发送单元13,账单储存单元14,校验单元15,账单生成单元16,账单查看单元17和转移单元18,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在服务器上执行存储介质22中储存的列表处理的应用程序对应的一系列操作。
服务器还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,和/或,一个或一个以上操作系统223,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由上述用户账单系统所执行的步骤可以基于该图12所示的服务器的结构。
另外,本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如上述用户账单系统所执行的数据转换方法。
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如上述用户账单系统所执行的数据转换方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种数据转换方法、系统及存储介质和服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种数据转换方法,其特征在于,包括:
从第一数据模块中获取待转换用户账单,所述第一数据模块用于储存旧格式的用户账单,所述旧格式的用户账单为当前时刻之前的历史时间段内生成的任一格式的用户账单;
调用数据转换服务,且将所述待转换用户账单对应用户的账单状态设置为账单转换中的状态;
将所述待转换数据发送给数据转换服务系统,以便所述数据转换服务系统将所述待转换用户账单转换为新格式的用户账单,得到转换后用户账单;
接收所述数据转换服务系统返回的转换后用户账单,将所述转换后用户账单储存到第二数据模块中,所述第二数据模块用于储存新格式的用户账单,所述新格式的用户账单为当前一段时间内生成的某一格式的用户账单。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一数据模块中储存的某一用户的所有用户账单都转换为新格式的用户账单,将所述某一用户的账单状态设置为账单已转换完成的状态;
当所述第一数据模块中储存的某一用户的任一项用户账单未转换为新格式的用户账单,将所述某一用户的账单状态设置为账单未转换完成的状态。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当某一用户的账单状态为账单设置为已转换完成的状态的一段时间后,将所述第一数据模块中储存的某一用户的用户账单与所述第二数据模块中储存的某一用户的用户账单进行校验;
当校验通过时,删除所述第一数据模块中储存的某一用户的用户账单;
当对所述某一用户的某一项用户账单的校验未通过时,删除所述第二数据模块中储存的某一用户的某一项用户账单,且将所述某一用户的账单状态设置为未转换完成的状态。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当目标用户对应的一项数值转移操作完成时,确定所述目标用户的目标账单状态;
根据所述目标账单状态,生成与所述一项数值转移操作对应的目标用户账单;
当所述目标用户账单为新格式的用户账单,将所述目标用户账单储存到所述第二数据模块中,当所述目标用户账单为旧格式的用户账单,将所述目标用户账单储存到所述第一数据模块中,当所述目标用户账单为新格式的用户账单和旧格式的用户账单,将所述目标用户账单相应地分别储存到所述第二数据模块和第一数据模块中。
5.如权利要求4所述的方法,其特征在于,所述根据所述目标账单状态,生成与所述一项数值转移操作对应的目标用户账单,具体包括:
当所述目标账单状态为账单已转换完成的状态时,生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单和旧格式的用户账单;
当所述目标账单状态为空时,生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单;
当所述目标账单状态为未转换完成的状态时,生成与所述一项数值转移操作对应的目标用户账单包括旧格式的用户账单。
6.如权利要求4所述的方法,其特征在于,
当所述目标账单状态为账单转换中的状态时,等待所述目标用户的账单状态发生改变时,再生成与所述一项数值转移操作对应的目标用户账单为新格式的用户账单和旧格式的用户账单。
7.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
接收对目标用户的账单查看请求;
根据所述账单查看请求确定所述目标用户的目标账单状态;
根据所述目标账单状态,从所述第一数据模块或从第二数据模块中获取对应的目标用户账单并返回。
8.如权利要求7所述的方法,其特征在于,所述根据所述目标账单状态,从所述第一数据模块或从第二数据模块中获取对应的目标用户账单并返回,具体包括:
当所述目标账单状态为已转换完成的状态,从所述第二数据模块中获取对应的目标用户账单并返回;
当所述目标账单状态为未转换完成的状态,从所述第一数据模块中获取对应的目标用户账单并返回;
当所述目标账单状态为账单转换中的状态,等待所述目标账单状态发生改变时,从所述第二数据模块中获取对应的目标用户账单并返回。
9.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
当需要生成最新格式的用户账单时,将所述第二数据模块中的用户账单转移到所述第一数据模块中。
10.一种用户账单系统,其特征在于,包括:
账单获取单元,用于从第一数据模块中获取待转换用户账单,所述第一数据模块用于储存旧格式的用户账单,所述旧格式的用户账单为当前时刻之前的历史时间段内生成的任一格式的用户账单;
调用单元,用于调用数据转换服务;
状态设置单元,用于将所述待转换用户账单对应用户的账单状态设置为账单转换中的状态;
数据发送单元,用于将所述待转换数据发送给数据转换服务系统,以便所述数据转换服务系统将所述待转换用户账单转换为新格式的用户账单,得到转换后用户账单;
账单储存单元,用于接收所述数据转换服务系统返回的转换后用户账单,将所述转换后用户账单储存到第二数据模块中,所述第二数据模块用于储存新格式的用户账单,所述新格式的用户账单为当前一段时间内生成的某一格式的用户账单。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至9任一项所述的数据转换方法。
12.一种服务器,其特征在于,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如权利要求1至9任一项所述的数据转换方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110138139.2A CN113010589B (zh) | 2021-02-01 | 2021-02-01 | 一种数据转换方法、系统及存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110138139.2A CN113010589B (zh) | 2021-02-01 | 2021-02-01 | 一种数据转换方法、系统及存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113010589A true CN113010589A (zh) | 2021-06-22 |
CN113010589B CN113010589B (zh) | 2023-09-26 |
Family
ID=76384729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110138139.2A Active CN113010589B (zh) | 2021-02-01 | 2021-02-01 | 一种数据转换方法、系统及存储介质和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010589B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888672A (zh) * | 2017-11-02 | 2018-04-06 | 深圳市牛鼎丰科技有限公司 | 账单数据处理方法、装置、存储介质和计算机设备 |
CN110991150A (zh) * | 2019-12-16 | 2020-04-10 | 中国铁塔股份有限公司 | 一种数据格式转换方法、装置及报账系统 |
CN111104425A (zh) * | 2019-11-13 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
-
2021
- 2021-02-01 CN CN202110138139.2A patent/CN113010589B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888672A (zh) * | 2017-11-02 | 2018-04-06 | 深圳市牛鼎丰科技有限公司 | 账单数据处理方法、装置、存储介质和计算机设备 |
CN111104425A (zh) * | 2019-11-13 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN110991150A (zh) * | 2019-12-16 | 2020-04-10 | 中国铁塔股份有限公司 | 一种数据格式转换方法、装置及报账系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113010589B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110443704B (zh) | 一种跨链发送资源的方法和装置 | |
CN110311790B (zh) | 一种跨链发送可认证消息的方法和装置 | |
CN110430162B (zh) | 一种跨链发送可认证消息的方法和装置 | |
EP3559874B1 (en) | Event-driven blockchain workflow processing | |
CN110839029B (zh) | 一种微服务注册方法和装置 | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
CN110430235B (zh) | 跨链发送可认证消息的方法、装置、存储介质和计算设备 | |
CN111240732B (zh) | 分布式微服务的发布方法、装置、设备及存储介质 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN111915301B (zh) | 基于区块链的数据处理方法、装置、电子设备及可读介质 | |
CN112613877B (zh) | 应用于区块链网络的智能合约触发方法、装置及相关设备 | |
CN114041134A (zh) | 用于基于区块链的安全存储的系统和方法 | |
CN117501731A (zh) | 安全的传感器数据分发 | |
CN110910000A (zh) | 一种区块链资产管理方法和装置 | |
CN113077259A (zh) | 基于区块链的存证方法、装置及电子设备 | |
CN113689216A (zh) | 跨链事务处理方法及装置、设备、存储介质、程序产品 | |
CN111932239A (zh) | 业务处理方法、装置、节点设备及存储介质 | |
CN113132459B (zh) | 分布式存储方法、系统、存储介质、信息数据处理终端 | |
CN113095825B (zh) | 基于区块链的资产管理方法、装置及电子设备 | |
CN110417742B (zh) | 跨链发送、中转、接收可认证消息的方法、装置及存储介质 | |
CN113010589B (zh) | 一种数据转换方法、系统及存储介质和服务器 | |
CN112231415B (zh) | 区块链网络的数据同步方法、系统、电子设备及可读介质 | |
CN117010889A (zh) | 数据处理方法、装置及设备、介质、产品 | |
JP2024514858A (ja) | ブロックチェーン鍵生成 | |
JP2021149506A (ja) | 情報処理装置、情報処理方法およびプログラム |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046422 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |