发明内容
为解决提升数据修改效率,本申请实施例提出了一种数据修改的方法和装置。
一方面,本申请实施例提供了一种数据修改的方法,所述方法包括:
接收业务的办理端发送的业务数据修改文件,所述业务数据修改文件包括数据标识及数据修改值;
获取所述业务的处理记录,所述处理记录包括处理状态信息;
若处理记录的处理状态信息为处理失败,则将所述数据标识对应的数据值修改为所述数据修改值。
可选地,所述接收业务的办理端发送的业务数据修改文件之前,还包括:
根据业务的当前处理记录生成所述业务的处理结果文件;
向所述业务的办理端发送所述业务的处理结果文件。
可选地,所述根据业务的当前处理记录生成所述业务的处理结果文件之前,还包括:
确定所述业务当前处理记录的处理状态信息为处理失败;
所述将所述数据标识对应的数据值修改为所述数据修改值之后,还包括:
根据所述数据修改值重新处理所述业务。
可选地,所述处理记录还包括数据有效性信息;
所述根据所述数据修改值重新处理所述业务之前,还包括:
将所述业务所有处理记录中的数据有效性信息修改为无效。
可选地,所述方法,还包括:
创建与重新处理所述业务对应的新处理记录,所述新处理记录中的数据有效性信息确定为有效。
可选地,所述业务数据修改文件还包括业务标识;
所述将所述数据标识对应的数据值修改为所述数据修改值之前,还包括:
根据所述业务标识,确定所述数据标识及数据修改值正确。
另一方面,本申请实施例提供了一种数据修改的装置,所述装置包括:
接收模块,用于接收业务的办理端发送的业务数据修改文件,所述业务数据修改文件包括数据标识及数据修改值;
获取模块,用于获取所述业务的处理记录,所述处理记录包括处理状态信息;
第一修改模块,用于当处理记录的处理状态信息为处理失败时,将所述数据标识对应的数据值修改为所述数据修改值。
可选地,所述装置,还包括:
生成模块,用于根据业务的当前处理记录生成所述业务的处理结果文件;
发送模块,用于向所述业务的办理端发送所述业务的处理结果文件。
可选地,所述装置,还包括:
第一确定模块,用于确定所述业务当前处理记录的处理状态信息为处理失败;
处理模块,用于根据所述数据修改值重新处理所述业务。
可选地,所述处理记录还包括数据有效性信息;
所述装置,还包括:
第二修改模块,用于将所述业务所有处理记录中的数据有效性信息修改为无效。
可选地,所述装置,还包括:
创建模块,用于创建与重新处理所述业务对应的新处理记录,所述新处理记录中的数据有效性信息确定为有效。
可选地,所述业务数据修改文件还包括业务标识;
所述装置,还包括:
第二确定模块,用于根据所述业务标识,确定所述数据标识及数据修改值正确。
有益效果如下:
接收业务的办理端发送的业务数据修改文件后,获取业务的所有处理记录,当所有处理记录的处理状态信息均为处理失败时,将数据标识对应的数据值修改为数据修改值,提升了数据修改效率。
具体实施方式
为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
目前业务数据修改时,需要人工操作,降低了数据修改效率。为了提高数据修改效率,本申请提出了一种数据修改的方法,该数据修改的方法可以在接收业务的办理端发送的业务数据修改文件后,获取业务的处理记录,当处理记录的处理状态信息为处理失败时,将数据标识对应的数据值修改为数据修改值,提升数据修改效率。另外,本申请提供的数据修改方法仅当所有处理记录的处理状态信息均为处理失败时,才将数据标识对应的数据值修改为数据修改值,限制数据修改的条件,避免数据值被误修改。
本申请提供的数据修改的方法在具体实施时,可以用于多种业务处理场景,下面仅以理财平台,如招财宝平台的募集业务处理场景为例,对本申请提供的数据修改的方法进行详细说明。
在招财宝平台的募集业务处理场景中,募集业务的每一次打款行为均会对应一条打款流水WITHDRAW_ORDER,其包括融资人银行***等等打款基本信息,并利用状态字段STATUS表示当前打款处理的阶段和成功与否;IS_INVAILD表示该流水是否有效,保证一个募集业务的打款行为有且仅有一条有效状态的打款流水。
募集成功后生成状态字为NEW的资金打款流水;接着打款请求通过支付宝支付***、网关等请求银行***,并等待银行***处理及回复,此过程中打款流水状态更新为PROCESS;若银行***处理成功,收到打款成功的异步回执后更新打款流水状态为SUCCESS;若处理失败,收到打款失败的回执后,更新打款流水状态为FAIL。其中,打款流水状态机可参考图1。
结合募集业务处理场景,本实施例提供了一种数据修改的方法,该方法应用于招财宝平台所属服务器。其中打款流水为本实施例提供的方法中的处理记录,状态字段STATUS为本实施例提供的方法中的处理状态信息,IS_INVAILD为本实施例提供的方法中的数据有效性信息。参见图2,本实施例提供的方法流程具体如下:
201:理财平台确定业务的当前处理记录的处理状态信息;
每当募集业务进行打款时,均会生成一条表1所示的处理记录(即打款流水),该处理记录包括业务标识(INS_ID),处理记录标识(ORD_ID)及用户账户信息(例如,银行名称、银行代码、融资人姓名、融资人身份证号码等基本信息)。该处理记录还可以包括处理状态信息(STA)和数据有效性信息(IS_INVAILD)。其中,新生成处理记录时,业务标识(ORD_ID)对应的字段为“NEW”,表示该处理记录为初始状态,有效性信息(IS_INVAILD)对应的字段为字符“Y”,有效性信息(IS_INVAILD)对应的字段也可以为字符“N”。当有效性信息(IS_INVAILD)对应的字段为字符“Y”时,表示该处理记录有效。当有效性信息(IS_INVAILD)对应的字段为字符“N”时,表示该处理记录无效。
在打款行为实施时,该处理记录会随时根据打款过程的实际进行状态调整处理记录中包括的相应信息对应的字段内容,以表示该处理记录对应的处理业务的最新处理状态。例如,表1所示的处理记录,其为募集业务的一次打款流水。当该次打款行为处于打款流程的处理过程中,表1所示的处理记录中的处理状态信息(STA)对应的字段内容由“NEW”变为“PROCESS”,以表示该处理记录对应的募集业务的该次打款行为的最新处理状态为打款过程进行中,参见表2。若该次打款行为失败,则表2所示的处理记录中的处理状态信息(STA)对应的字段内容由“PROCESS”变为“FAIL”,以表示该处理记录对应的募集业务的该次打款行为的最新处理状态为打款失败状态,参见表3。若该次打款行为成功,则表2所示的处理记录中的处理状态信息(STA)对应的字段内容由“PROCESS”变为“SUCCESS”,以表示该处理记录对应的募集业务的该次打款行为的最新处理状态为打款成功状态,参见表4。
综上,本步骤可以根据打款记录中处理状态信息(STA)对应字段的内容,确定打款记录对应业务的当前处理状态。若处理状态信息(STA)对应字段的内容为“FAIL”,则确定处理记录对业务的当前处理状态为失败状态,若处理状态信息(STA)对应字段的内容为“SUCCESS”,则确定处理记录对业务的当前处理状态为成功状态。
本实施例中,仅以处理状态信息(STA)对应字段的内容为“FAIL”代表处理记录对业务的当前处理状态为失败状态,处理状态信息(STA)对应字段的内容为“SUCCESS”代表处理记录对业务的当前处理状态为成功状态为例进行说明,实际应用中,代表处理记录对业务的当前处理状态为失败状态的处理状态信息(STA)对应字段的内容还可以为其他内容,例如,数字“0”,或者,字符“N”等。代表处理记录对业务的当前处理状态为成功状态的处理状态信息(STA)对应字段的内容还可以为其他内容,例如,数字“1”,或者,字符“Y”等。
表1
INS_ID |
ORD_ID |
ACC_INFO |
… |
STA |
IS_INVAILD |
007 |
1 |
A |
… |
NEW |
Y |
表2
INS_ID |
ORD_ID |
ACC_INFO |
… |
STA |
IS_INVAILD |
007 |
1 |
A |
… |
PROCESS |
Y |
表3
INS_ID |
ORD_ID |
ACC_INFO |
… |
STA |
IS_INVAILD |
007 |
1 |
A |
… |
FAIL |
Y |
表4
INS_ID |
ORD_ID |
ACC_INFO |
… |
STA |
IS_INVAILD |
007 |
1 |
A |
… |
SUCCESS |
Y |
当本步骤确定处理记录对业务的当前处理状态为失败状态时,才进行后续步骤202至步骤208,以修改业务相关数据,实现本申请提供的数据修改的方法。
当本步骤确定处理记录对业务的当前处理状态为成功状态时,也可以执行步骤202至步骤204,以将该处理记录中的内容发送给业务的办理端,供业务的办理端进行数据分析。
202:理财平台根据业务的当前处理记录生成业务的处理结果文件;
处理记录是募集业务进行打款时的打款流水,同一募集业务可以对应多笔打款,每笔打款对应一个打款流水,每个打款流水是一条处理记录,也就是说,同一募集业务对应多条处理记录。而处理记录中包括业务标识(INS_ID)、处理记录标识(ORD_ID)、用户账户信息、处理状态信息(STA)、数据有效性信息(IS_INVAILD)等内容。其中的业务标识(INS_ID)为募集业务的标识,处理记录标识(ORD_ID)、用户账户信息、处理状态信息(STA)、数据有效性信息(IS_INVAILD)等是该笔打款实际涉及的各项内容的标识。也即,同一募集业务对应的不同处理记录中的业务标识(INS_ID)相同,处理记录标识(ORD_ID)、用户账户信息、处理状态信息(STA)、数据有效性信息(IS_INVAILD)等可能变化。
因此,可以将处理记录中的内容分成3个部分,1)业务标识(INS_ID)及对应字段的内容,2)数据标识,3)数据值。
其中,1)业务标识(INS_ID)是标识处理记录对应的业务,对应同一业务的处理记录中的业务标识(INS_ID)对应的字段内容相同。
2)数据标识是标识该笔打款实际涉及的各项内容,同一业务的处理记录中的数据标识对应的字段内容不相同。数据标识为处理记录中除业务标识(INS_ID)之外的标识,例如:处理记录标识(ORD_ID)、用户账户信息、处理状态信息(STA)、数据有效性信息(IS_INVAILD)等。
3)数据值是数据标识对应字段的内容。
例如:处理结果文件包括的业务标识为INS_ID,且对应字段的内容为007,处理结果文件中包括的数据标识和数据值如表5所示。
表5
203:理财平台向业务的办理端发送业务的处理结果文件;
具体的,可以通过数据交互平台向业务的办理端发送业务的处理结果文件;
其中,数据交互平台可以为各业务共享的数据交互平台,若募集业务拥有自己的募集数据平台,可以先将业务处理结果文件上传至募集数据平台,再由募集数据平台与数据交互平台之间的特定接口将业务处理结果文件传送至数据交互平台,最后由数据交互平台将业务处理结果文件发送至业务的办理端。
通过执行步骤201至步骤203,募集业务的各打款流水对应的处理记录中的内容会实时传送至业务的办理端。
204:业务的办理端处理业务的处理结果文件;
若业务的处理结果文件中处理状态信息(STA)对应字段的内容为“FAIL”,则确定业务处理结果文件中数据标识在办理端对应的数据值,并将在办理端对应的数据值作为数据修改值,生成业务数据修改文件。
具体的,可以确定业务处理结果文件中每个数据标识在办理端对应的数据值,将在办理端对应的数据值作为数据修改值,生成业务数据修改文件,此时,业务数据修改文件中的数据标识与业务处理结果文件中的数据标识相同,但业务数据修改文件中的数据修改值与业务处理结果文件中的数据值可以相同,也可以不同。
也可以从业务处理结果文件中选择部分数据标识(例如,选择对处理状态信息有影响的数据标识,或者,选择在业务的办理端存在对应数据的数据标识),确定选择的部分数据标识在办理端对应的数据值,将在办理端对应的数据值作为数据修改值,生成业务数据修改文件,此时,业务数据修改文件中的数据标识与业务处理结果文件中的数据标识不相同,但业务数据修改文件中的数据修改值与业务处理结果文件中的数据值可以相同,也可以不同。
由于业务标识是标识该条数据对应的业务,因此无论业务数据修改文件中的数据标识与处理结果文件中的数据标识是否相同,业务数据修改文件中的业务标识与处理结果文件中的业务标识以及对应字段的内容是相同的。
例如,银行代码在办理端对应的数据值为B,则,生成的业务数据修改文件中的业务标识为INS_ID,且对应字段的内容为007,业务数据修改文件中的数据标识和数据值如表6所示。
表6
数据标识 |
数据值 |
银行名称 |
A银行 |
银行代码 |
B |
融资人姓名 |
XX |
融资人身份证号码 |
111111111111111111 |
若业务的处理结果文件中处理状态信息(STA)对应字段的内容为“SUCCESS”,则结束本实施例流程,业务的办理端可以在后续统计分析时利用业务处理结果文件中的内容。
205:理财平台接收业务的办理端发送的业务数据修改文件;
本步骤中接收的业务数据修改文件是步骤204中根据处理结果文件生成的。而处理结果文件是在步骤202中生成的。
在步骤202中,处理结果文件中包括业务标识及对应字段的内容、数据标识和数据值等,其中,业务标识为INS_ID,用于标识处理记录对应的业务,数据标识为处理记录标识(ORD_ID)、用户账户信息、处理状态信息(STA)、数据有效性信息(IS_INVAILD)等,用于标识该笔打款实际涉及的各项内容,数据值是各数据标识对应字段的内容。
在步骤204中,处理结果文件中的业务标识及对应字段的内容不会做改变,而处理结果文件中数据值会做修改,变成数据修改值。也即,业务数据修改文件中包括1)业务标识及对应字段的内容,2)数据标识,3)数据修改值。业务数据修改文件中还可能包括4)数据值。
其中,业务数据修改文件中的业务标识及对应字段的内容与处理结果文件中的业务标识及对应字段的内容相同。
业务数据修改文件中的数据标识可能是处理结果文件中的全部数据标识,也可能是处理结果文件中的部分数据标识。
业务数据修改文件中的数据标识对应的字段内容可能与处理结果文件中的数据标识对应的字段内容相同(均为处理结果文件中对应数据值),也可能与处理结果文件中的数据标识对应的字段内容不相同(数据标识对应的字段内容由处理结果文件中的数据值变为业务数据修改文件中的数据修改值)。
本步骤中,招财宝平台可以通过数据交互平台接收业务的办理端发送的业务数据修改文件。
招财宝平台通过轮询任务,查看数据交互平台上是否有业务的办理端发送的业务数据修改文件。
206:理财平台根据业务标识,确定数据标识及数据修改值是否正确;
为了防止收到业务数据修改文件中的数据标识和/或数据修改值存在错误,因此,在步骤205中收到业务数据修改文件后,需执行步骤206进行必要的校验。例如:根据业务标识,确定数据标识及数据修改值是否正确。具体校验内容包括但不限于:
对业务数据修改文件必填字段做非空校验,检查银行名称和代码是否符合;为了避免机构误传文件,造成资金及法律风险,需校验用户信息更新文件中融资人姓名、身份证号以是否与之前一致,不允许更换融资人;另外,检查募集业务名称是否一致、募集业务是否已募集完成。
如校验失败,招财宝平台进行***报警,终止程序的同时向业务的办理端发送业务数据修改文件有误的消息,以让业务的办理端重新发送业务数据修改文件。
如校验成功,则执行后续步骤。
需要说明的是,本实施例仅以执行步骤205接收业务的办理端发送的业务数据修改文件之后即执行步骤206确定数据标识及数据修改值是否正确。此种实现方式可以提升执行效率。例如:若执行步骤206确定数据标识及数据修改值不正确,则不再执行后续步骤,直接终止流程。若步骤206确定数据标识及数据修改值正确后,才继续执行后续步骤。
但在实际应用过程中,步骤206确定数据标识及数据修改值是否正确可以在步骤205接收到业务的办理端发送的业务数据修改文件之后,步骤208将数据标识对应的数据值修改为数据修改值之前任何位置执行,即保证将数据标识对应的数据值修改成正确的数据修改值。本实施例不对步骤206的具体执行位置进行限定。
207:理财平台获取业务的处理记录,确定处理记录的处理状态信息是否为处理失败状态,若为处理失败状态,则执行208,若不为失败状态,则结束流程;
其中,处理记录包括处理状态信息,处理状态信息为初始状态、处理中状态、处理失败状态、处理成功状态。
本步骤在执行时,若存在处理状态信息(STA)对应字段的内容为“NEW”或“PROCESS”的处理记录,则认为募集业务存在处于打款过程的行为,此时若修改数据值,会对打款过程的执行造成影响,因此,不能将数据标识对应的数据值修改为数据修改值。
若存在处理状态信息(STA)对应字段的内容为“SUCCESS”的处理记录,则认为募集业务已经成功,因此,不能将数据标识对应的数据值修改为数据修改值。
只有所有处理记录的处理状态信息均为处理失败状态,则可以将数据标识对应的数据值修改为数据修改值。
例如:确定该募集业务对应的历史处理记录中处理状态信息(STA)对应字段的内容是否全部是“FAIL”,如存在处理状态信息(STA)对应字段的内容为“NEW”、“PROCESS”、“SUCCESS”的处理记录,则不能将数据标识对应的数据值修改为数据修改值。
208:理财平台将数据标识对应的数据值修改为数据修改值。
将数据标识对应的数据值修改为数据修改值之后,若募集业务的最后一次处理记录的处理状态信息(STA)对应字段的内容为“FAIL”,即处理记录对业务的处理状态为失败状态,则还需要根据数据修改值重新处理业务。
具体的,参见表7,1)创建与重新处理业务对应的新处理记录,新处理记录中有效性信息(IS_INVAILD)对应的字段为“Y”,即新处理记录有效,2)将该业务所有历史处理记录中有效性信息(IS_INVAILD)对应的字段修改为“N”,即历史处理记录无效;3)根据数据修改值重新处理业务。
经过表8所示的打款处理过程,若打款处理成功,则将表8所示的新处理记录中的处理状态信息(STA)对应的字段内容由“PROCESS”变为“SUCCESS”,参见表9。若再次失败,重复步骤202至步骤208,实现整个招财宝平台数据的自动修改。
表7
INS_ID |
ORD_ID |
ACC_INFO |
… |
STA |
IS_INVAILD |
007 |
1 |
A |
… |
FAIL |
N |
007 |
2 |
B |
… |
NEW |
Y |
表8
INS_ID |
ORD_ID |
ACC_INFO |
… |
STA |
IS_INVAILD |
007 |
1 |
A |
… |
FAIL |
N |
007 |
2 |
B |
… |
PROCESS |
Y |
表9
INS_ID |
ORD_ID |
ACC_INFO |
… |
STA |
IS_INVAILD |
007 |
1 |
A |
… |
FAIL |
N |
007 |
2 |
B |
… |
SUCCESS |
Y |
为了进一步说明本实施例提供的方法,以业务的办理端为机构,数据交互平台为数据交互平台为例,再次说明,参见图3,机构提供账户信息文件,通过数据交互平台将账户信息文件发送给招财宝;招财宝基于账户信息文件进行募集并打款。打款结束后,生成打款结果文件,将打款结果文件通过数据交互平台发送至机构,若打款结果文件显示此次打款成功,则结束流程。若打款结果文件显示此次打款失败,则生成账户更新文件,通过数据交互平台将账户更新文件发送给招财宝。招财宝解析账户更新文件,并校验账户更新文件。当校验通过后,确定是否允许更新,若允许更新,则更新打款流水信息,刷新借款账户缓存,将打款失败流水标记为无效,并生成一条新的打款流水。若文件校验不通过,或者不允许更新,则监控报警,使机构重新上传账户更新文件。
有益效果:
接收业务的办理端发送的业务数据修改文件后,获取业务的处理记录,当处理记录的处理状态信息为处理失败时,将数据标识对应的数据值修改为数据修改值,提升了数据修改效率。
基于同一发明构思,本实施例提供了一种数据修改的装置,由于该装置解决问题的原理与图2所示的一种数据修改的方法相似,因此该装置的实施可以参见图2所示的方法的实施例,重复之处不再赘述。
参见图4,该装置包括:
接收模块401,用于接收业务的办理端发送的业务数据修改文件,业务数据修改文件包括数据标识及数据修改值;
获取模块402,用于获取业务的处理记录,处理记录包括处理状态信息;
第一修改模块403,用于当处理记录的处理状态信息为处理失败时,将数据标识对应的数据值修改为数据修改值。
参见图5,该装置,还包括:
生成模块404,用于根据业务的当前处理记录生成业务的处理结果文件;
发送模块405,用于向业务的办理端发送业务的处理结果文件。
参见图6,该装置,还包括:
第一确定模块406,用于确定业务当前处理记录的处理状态信息为处理失败;
处理模块407,用于根据数据修改值重新处理业务。
参见图7,处理记录还包括数据有效性信息;
该装置,还包括:
第二修改模块408,用于将业务所有处理记录中的数据有效性信息修改为无效。
参见图8,该装置,还包括:
创建模块409,用于创建与重新处理业务对应的新处理记录,新处理记录中的数据有效性信息确定为有效。
参见图9,业务数据修改文件还包括业务标识;
该装置,还包括:
第二确定模块410,用于根据业务标识,确定数据标识及数据修改值正确。
有益效果如下:
接收业务的办理端发送的业务数据修改文件后,获取业务的处理记录,当处理记录的处理状态信息为处理失败时,将数据标识对应的数据值修改为数据修改值,提升了数据修改效率。
为了描述的方便,以上装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。