一种流水数据的生成方法、装置及系统与流程

文档序号:11230615阅读:1312来源:国知局
一种流水数据的生成方法、装置及系统与流程
本发明实施例涉及数据处理
技术领域
,尤其涉及一种流水数据的生成方法、装置及系统。
背景技术
:随着互联网技术的快速发展,目前,大多数业务通过互联网完成。一些重要业务需要有详尽的流水记录以便对事件进行追踪,即业务的所有变更,都需在流水表中记录。现有技术中,业务流水表和业务表都在业务系统中生成,即当业务方在业务表中进行变更操作的同时,业务系统将这条变更记录加入流水表中。业务系统同时处理流水表和业务表,使得系统延迟增加。技术实现要素:本发明提供了一种流水数据的生成方法、装置及系统,以提高流水数据的生成效率。第一方面,本发明实施例提供了一种流水数据的生成方法,该方法包括:当接收到流水数据请求时,根据所述流水数据请求确定目标业务;从业务数据库对应的日志文件中获取所述目标业务对应的至少一个目标日志信息;根据所述至少一个目标日志信息生成所述目标业务的流水数据。进一步地,在从业务数据库对应的日志文件中获取所述目标业务对应的至少一个目标日志信息之后还包括:从所述业务数据库中查找所述目标业务对应的目标业务信息;相应的,所述根据所述至少一个目标日志信息生成所述目标业务的流水数据,包括:所述根据所述至少一个目标日志信息和所述目标业务信息生成所述目标业务的流水数据。进一步地,所述根据所述至少一个目标日志信息和所述目标业务信息生成所述目标业务的流水数据,包括:根据记录时间对所述至少一个目标日志信息进行排序,得到排序结果;根据下述迭代算法计算所述至少一个目标日志信息对应的流水数据:根据所述目标业务信息以及第二日志信息生成所述第二日志信息对应的流水数据,所述第二日志信息为与所述目标业务信息的时间差距最小的目标日志信息;根据所述第二日志信息对应的流水数据及第三日志信息,生成所述第三日志信息对应的流水数据,所述第三日志信息为按照所述排序结果选择的所述第二日志信息的前一个日志信息;根据生成的至少一个目标日志信息对应的流水数据,确定所述目标业务的流水数据。进一步地,所述业务数据库对应的日志文件为二进制文件,相应的,所述从业务数据库对应的日志文件中获取所述目标业务对应的至少一个目标日志信息,包括:将所述目标业务的记录标识进行二进制转换,得到目标二进制码;在所述业务数据库对应的日志文件中查找与所述目标二进制码匹配的二进制日志信息;将查找到的所述二进制日志信息转换为文本格式的目标日志信息。进一步地,所述根据所述至少一个目标日志信息生成所述目标业务的流水数据,包括:获取所述目标日志信息的事件类型参数;获取所述目标日志信息包含的业务信息参数;将所述事件类型参数和所述业务信息参数添加到预设格式的流水数据表格中,得到所述目标业务的流水数据。第二方面,本发明实施例还提供了一种流水数据的生成装置,该装置包括:目标业务确定模块,用于当接收到流水数据请求时,根据所述流水数据请求确定目标业务;目标日志信息获取模块,用于从业务数据库对应的日志文件中获取所述目标业务对应的至少一个目标日志信息;流水数据生成模块,用于根据所述至少一个目标日志信息生成所述目标业务的流水数据。进一步地,还包括:目标业务信息查找模块,用于从所述业务数据库中查找所述目标业务对应的目标业务信息;相应的,所述流水数据生成模块,还用于根据所述至少一个目标日志信息和所述目标业务信息生成所述目标业务的流水数据。进一步地,所述流水数据生成模块,还用于:根据记录时间对所述至少一个目标日志信息进行排序,得到排序结果;根据下述迭代算法计算所述至少一个目标日志信息对应的流水数据:根据所述目标业务信息以及第二日志信息生成所述第二日志信息对应的流水数据,所述第二日志信息为与所述目标业务信息的时间差距最小的目标日志信息;根据所述第二日志信息对应的流水数据及第三日志信息,生成所述第三日志信息对应的流水数据,所述第三日志信息为按照所述排序结果选择的所述第二日志信息的前一个日志信息;根据生成的至少一个目标日志信息对应的流水数据,确定所述目标业务的流水数据。进一步地,所述业务数据库对应的日志文件为二进制文件,相应的,所述目标日志信息获取模块,包括:目标二进制码获取模块,用于将所述目标业务的记录标识进行二进制转换,得到目标二进制码;二进制日志信息查找模块,用于在所述业务数据库对应的日志文件中查找与所述目标二进制码匹配的二进制日志信息;二进制日志信息转换模块,用于将查找到的所述二进制日志信息转换为文本格式的目标日志信息。进一步地,所述流水数据生成模块,还用于:获取所述目标日志信息的事件类型参数;获取所述目标日志信息包含的业务信息参数;将所述事件类型参数和所述业务信息参数添加到预设格式的流水数据表格中,得到所述目标业务的流水数据。第三方面,本发明实施例还提供了一种流水数据的生成系统,该系统包括至少一个终端及第二方面所述的流水数据的生成装置。本发明实施例,当接收到流水数据请求时,首先根据流水数据请求确定目标业务,然后从业务数据库对应的日志文件中获取目标业务对应的至少一个目标日志信息,最后根据至少一个目标日志信息和所述目标业务信息生成所述目标业务的流水数据。现有技术中,由于业务表和流水数据表同时在业务系统中生成,使得流水数据对业务系统有侵入,即在生成流水数据出现异常时影响业务进程,而且业务系统同时处理业务数据和流水数据,使得系统延迟增加。本申请中,根据目标业务在数据库中的目标日志信息和目标业务信息生成目标业务的流水数据,使得流水数据的生成对业务系统无侵入、零耦合,同时提高流水数据的生成效率。附图说明图1是本发明实施例一中的一种流水数据的生成方法的流程图;图2是本发明实施例二中的一种流水数据的生成方法的流程图;图3是本发明实施例三中的一种流水数据的生成方法的流程图;图4是本发明实施例四中的一种流水数据的生成装置的结构示意图;图5是本发明实施例五中的一种流水数据的生成系统的结构示意图。具体实施方式下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。实施例一图1为本发明实施例一提供的一种流水数据的生成方法的流程图,本实施例可适用于生成流水数据的情况,该方法可以由服务器来执行,如图1所示,该流水数据的生成方法具体包括如下步骤:步骤110,当接收到流水数据请求时,根据流水数据请求确定目标业务。其中,目标业务可以是个人或企业在进行消费或通过互联网系统办理事务而产生的业务,例如:银行业务、通信运营商消费业务或在购物软件上进行购物产生的业务等。流水数据可以是对目标业务进行追踪而形成的数据。本应用场景下,当个人或企业需要查看目标业务在预设时间段中的流水数据时,个人或企业将查看流水数据的请求输入对应的流水系统中,流水系统在接收到流水数据请求时,根据流水数据确定目标业务。示例性的,顾客a需要查看在银行a的借记卡在最近3个月内的账户流水数据,顾客a将查看借记卡在最近3个月内的账户流水数据的请求输入银行a的流水系统,流水系统在接收到该请求后,确定借记卡的账户业务。步骤120,从业务数据库对应的日志文件中获取目标业务对应的至少一个目标日志信息。其中,业务数据库可以存储多种目标业务信息,可以是mysql数据库。日志信息可以是对数据库中的目标业务信息进行操作而生成的日志,日志信息可以包括操作事件的时间、类型及操作事件的具体内容等。其中,操作事件的类型可以包括插入、更新和删除等。本应用场景下,从业务数据库对应的日志文件中获取目标业务对应的至少一个目标日志信息的方法可以是,将目标业务的记录标识进行二进制转换,得到目标二进制码,在业务数据库对应的日志文件中查找与目标二进制码匹配的二进制日志信息,将查找到的二进制日志信息转换为文本格式的目标日志信息。步骤130,根据至少一个目标日志信息生成目标业务的流水数据。根据至少一个目标日志信息生成目标业务的流水数据的方式可以是,若日志文件采用行模式进行记录,则获取目标日志信息的事件类型参数,以及获取目标日志信息包含的业务信息参数,最后将事件类型参数和业务信息参数添加到预设格式的流水数据表格中,得到目标业务的流水数据。若日志文件采用列模式,则根据至少一个目标日志信息和目标业务信息生成所述目标业务的流水数据。优选的,在步骤120之后,还包括:步骤140,从业务数据库中查找目标业务对应的目标业务信息。其中,目标业务信息可以是目标业务当前所处的状态信息,即目标业务被业务方在最近一次操作而更新后的业务信息。目标业务信息的形式可以是业务表。从业务数据库中查找目标业务对应的目标业务信息的方式可以是,根据业务信息的记录标识在业务数据库中查找目标业务信息。示例性的,购物信息的订单业务可以通过订单号查找对应的订单业务,或者借记卡账户业务可通过借记卡的账号查找对应的账号业务。相应的,步骤130包括:步骤210,根据所述至少一个目标日志信息和所述目标业务信息生成所述目标业务的流水数据。本应用场景下,日志文件采用列模式进行记录,则根据所述至少一个目标日志信息和所述目标业务信息生成所述目标业务的流水数据的方式可以是,根据记录时间对至少一个目标日志信息进行排序,得到排序结果,根据下述迭代算法计算至少一个目标日志信息对应的流水数据:根据目标业务信息以及第二日志信息生成第二日志信息对应的流水数据,第二日志信息为与目标业务信息的时间差距最小的目标日志信息,根据第二日志信息对应的流水数据及第三日志信息,生成第三日志信息对应的流水数据,第三日志信息为按照排序结果选择的第二日志信息的前一个日志信息,根据生成的至少一个目标日志信息对应的流水数据,确定目标业务的流水数据。本实施例的技术方案,当接收到流水数据请求时,首先根据流水数据请求确定目标业务,然后从业务数据库对应的日志文件中获取目标业务对应的至少一个目标日志信息,最后根据至少一个目标日志信息和所述目标业务信息生成所述目标业务的流水数据。现有技术中,由于业务表和流水数据表同时在业务系统中生成,使得流水数据对业务系统有侵入,即在生成流水数据出现异常时影响业务进程,而且业务系统同时处理业务数据和流水数据,使得系统延迟增加。本申请中,根据目标业务在数据库中的目标日志信息和目标业务信息生成目标业务的流水数据,使得流水数据的生成对业务系统无侵入、零耦合,同时提高流水数据的生成效率。优选的,步骤210包括:步骤211,根据记录时间对至少一个目标日志信息进行排序,得到排序结果。其中,排序的方式可以是按照记录时间的先后顺序依次排序,即时间最早的排在最前,时间最晚的排在最后。根据下述迭代算法计算至少一个目标日志信息对应的流水数据:步骤212,根据目标业务信息以及第二日志信息生成第二日志信息对应的流水数据,第二日志信息为与目标业务信息的时间差距最小的目标日志信息。其中,第二日志信息可以是目标业务信息最近一次更新时产生的日志信息,目标业务信息的更新操作与对应的日志信息的生成可以同步,或者目标业务信息的更新操作早于对应的日志信息的生成。优选的,步骤212可以通过下述方式实施:步骤21211,根据第二日志信息确定变更信息。其中,变更信息可以是插入、删除或更新。步骤2122,根据变更信息和目标业务信息生成第二日志信息对应的流水数据。根据变更信息和目标业务信息生成第二日志信息对应的流水数据的方法可以是,将变更信息与目标业务信息进行比较,确定变更信息属于目标业务信息中哪一个项目或哪几个项目的变更信息,然后根据目标业务信息中至少一个项目与变更信息进行回推,得到第二日志信息对应的流水数据。示例性的,表1为某一订单业务的业务信息。表1主键商品名称支付金额/元支付状态订单号a商品a、商品b300已支付表1为订单号a对应的订单业务信息,假设第二日志信息为对支付金额进行满减,满减规则是满满299减100,那么第二日志信息对应的流水数据如表2所示:表2步骤213,根据第二日志信息对应的流水数据及第三日志信息,生成第三日志信息对应的流水数据,第三日志信息为按照排序结果选择的第二日志信息的前一个日志信息。根据第二日志信息对应的流水数据及第三日志信息,生成第三日志信息对应的流水数据的方法与根据目标业务信息以及第二日志信息生成第二日志信息对应的流水数据的方法类似,不再赘述。示例性的,以表2为例,假设第三日志信息为添加商品b,商品b的价格为150元,则生成的第三日志信息对应的流水数据如表3所示:表3按照这种迭代方算法,回推出目标业务信息对应的所有流水数据。步骤214,根据生成的至少一个目标日志信息对应的流水数据,确定目标业务的流水数据。将生成的各个日志信息对应的多个流水数据按照时间先后顺序进行排序,得到目标业务的流水数据。示例性的,订单a的业务信息对应的部分流水数据,将表2和表3结合得到表4:表4本实施例的技术方案,利用迭代算法,根据目标业务信息与日志信息回推每个日志信息对应的流水数据,根据生成的至少一个目标日志信息对应的流水数据,确定目标业务的流水数据。可以提高流水数据生成的准确率。实施例二图2为本发明实施例二提供的一种流水数据的生成方法的流程图,以上述实施例为基础,如图2所示,优选的,业务数据库对应的日志文件为二进制文件,相应的,步骤120包括:步骤121,将目标业务的记录标识进行二进制转换,得到目标二进制码。其中,记录标识可以是目标业务的唯一标识符,例如目标业务数据表的表格名称。将目标业务的记录标识进行二进制转换的方式可以是,利用二进制转化工具或者采用业界转化规范,将目标业务的主键转化为二进制码,得到目标二进制码。步骤122,在业务数据库对应的日志文件中查找与目标二进制码匹配的二进制日志信息。其中,业务数据库对应的日志文件可以是按照客户实际需求在业务数据库中对应的预设时间段中的日志。在业务数据库对应的日志文件中查找与目标二进制码匹配的二进制日志信息的方法可以是,遍历业务数据库对应的日志文件,将目标二进制码与每个日志文件中的二进制码进行比对,若日志文件中包含与目标二进制码匹配的二进制码,则该日志文件是所要查找的二进制日志信息。优选的,步骤122还可通过下述方式实施:步骤1221,获取第一日志信息的预设字段的数据,第一日志信息为日志文件中任意一条日志信息,预设字段用于记录业务主键。其中,预设字段可以是在数据库中设置的,例如:在数据库中设置为在每条日志的固定位置中记录业务主键。示例性的,预设字段可以设置在每条日志的前100个字节,或者每条日志的后100个字节。步骤1222,如果预设字段的数据与目标二进制码匹配,则将第一日志信息作为与目标二进制码匹配的二进制日志信息。将预设字段的二进制数据域目标二进制码进行比较,若两者匹配,则第一日志信息作为与目标二进制码匹配的二进制日志信息。本实施例的技术方案,通过将预设字段中的二进制数据与目标二进制码比较,获取与目标二进制码匹配的二进制日志信息。目标二进制码无需与第一日志信息包含的所有二进制信息比较即可获得与目标二进制码匹配的二进制日志信息,可节约时间,提高获取与目标二进制码匹配的二进制日志信息的效率。步骤123,将查找到的二进制日志信息转换为文本格式的目标日志信息。将查找到的二进制日志信息转换为文本格式的目标日志信息的方法可以是,可以采用二进制转化文本工具或者利用业界转化规范,将二进制信息转化为文本格式。文本格式的目标日志信息可以直观的看到对业务信息进行操作的操作事件的时间、操作事件的类型以及操作事件的具体内容。本实施例的技术方案,首先将目标业务的主键进行二进制转换,得到目标二进制码,然后在业务数据库对应的日志文件中查找与目标二进制码匹配的二进制日志信息,最后将查找到的二进制日志信息转换为文本格式的目标日志信息。通过将查找到的二进制日志信息转换为文本格式的目标日志信息,使得业务信息与流水数据的业务具有一致性,使流水数据具有事务保证。实施例三图3为本发明实施例三提供的一种流水数据的生成方法的流程图,以上述实施例为基础,如图3所示,步骤130包括:步骤131,获取目标日志信息的事件类型参数。其中,事件类型可以是插入、更新和删除等。获取目标日志信息的事件类型参数的方式可以是,将目标日志信息的二进制文本中起始英文翻译为中文,中文代表的意思即为事件类型。示例性的,英文为“insert”,则事件类型为“插入”,若英文为“update”,则事件类型为“更新”。步骤132,获取目标日志信息包含的业务信息参数。业务信息参数可以是目标业务涉及的参数,示例性的,以网购业务为例,涉及的业务信息参数可以包括订单号、商品名称、订单状态、创建事件及最后修改事件等。日志信息包含的业务信息参数与目标业务的业务信息一一对应,根据他们之间的对应关系,获取目标业务的业务信息参数。步骤133,将事件类型参数和业务信息参数添加到预设格式的流水数据表格中,得到目标业务的流水数据。其中,预设格式可以是在目标业务数据表的格式的基础上增加自增主键和事件类型两列形成的流水数据表格式。本应用场景下,获取到的事件类型后,依照自增主键的先后顺序,将事件类型参数添加至流水数据表格中,获取到业务信息参数后,按照业务信息与表格中业务信息的对应关系依次添加至流水数据表格中。示例性的,以客户在电商网站购买商品为例,具体表示生成业务流水数据的过程。假设购买商品分为以下几步:a.下单:选好商品,点击购买;b.付款:点击付款,完成支付;c.发货:商家确认已发货;d.收货:客户已确认收到货。在这四个过程中,对应的订单状态可以是:a.新增订单,状态码为100;b.付款成功,状态码为200;c.已发货,状态码为300;d.已收货,状态码为400。针对这四个过程,业务系统会依次更新业务数据表。表5为业务数据表,当执行“下单”过程时,表5如下所示:表5当执行“付款”过程时,表5很更新为:同理,当执行“发货”和“收货”过程时,表5更依次更新其中的订单状态和最后修改事件。在数据库中,订单业务表只有表5一条记录,且表5记录的是业务的最终状态。数据库中没执行一个过程,会生成对应的二进制日志,对二进制信息进行解析,得到文本日志。根据生成的文本日志,将订单业务对应的四个过程的流水填入流水数据表中,生成的流水数据表如表6所示。表6由表6可以看出,订单业务的四个过程分别体现在流水数据表中。实施例四图4为本发明实施例四提供的一种流水数据的生成装置的结构示意图,如图4所示,该装置包括:目标业务确定模块410,目标日志信息获取模块420和流水数据生成模块430。目标业务确定模块410,用于当接收到流水数据请求时,根据所述流水数据请求确定目标业务;目标日志信息获取模块420,用于从业务数据库对应的日志文件中获取所述目标业务对应的至少一个目标日志信息;流水数据生成模块430,用于根据所述至少一个目标日志信息生成所述目标业务的流水数据。优选的,还包括:目标业务信息查找模块,用于从业务数据库中查找目标业务对应的目标业务信息;相应的,流水数据生成模块430,还用于根据至少一个目标日志信息和目标业务信息生成目标业务的流水数据。优选的,流水数据生成模块430,还用于:根据记录时间对至少一个目标日志信息进行排序,得到排序结果;根据下述迭代算法计算至少一个目标日志信息对应的流水数据:根据目标业务信息以及第二日志信息生成第二日志信息对应的流水数据,第二日志信息为与目标业务信息的时间差距最小的目标日志信息;根据第二日志信息对应的流水数据及第三日志信息,生成第三日志信息对应的流水数据,第三日志信息为按照排序结果选择的第二日志信息的前一个日志信息;根据生成的至少一个目标日志信息对应的流水数据,确定目标业务的流水数据。优选的,业务数据库对应的日志文件为二进制文件,相应的,目标日志信息获取模块420,包括:目标二进制码获取模块,用于将目标业务的记录标识进行二进制转换,得到目标二进制码;二进制日志信息查找模块,用于在业务数据库对应的日志文件中查找与目标二进制码匹配的二进制日志信息;二进制日志信息转换模块,用于将查找到的二进制日志信息转换为文本格式的目标日志信息。优选的,流水数据生成模块430,还用于:获取目标日志信息的事件类型参数;获取目标日志信息包含的业务信息参数;将事件类型参数和业务信息参数添加到预设格式的流水数据表格中,得到目标业务的流水数据。上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。实施例五图5为本发明实施例四提供的一种流水数据的生成系统的结构示意图,如图5所示,该系统包括至少一个终端510及服务器520。其中服务器520包括实施例四所述的流水数据的生成装置。当用户需要目标业务的流水数据时,将流水数据请求输入终端510中,终端将接收到的流水数据请求发送给服务器520。服务器520当接收到流水数据请求时,根据流水数据请求确定目标业务,然后从业务数据库对应的日志文件中获取目标业务对应的至少一个目标日志信息,再然后从业务数据库中查找目标业务对应的目标业务信息,最后根据至少一个目标日志信息和目标业务信息生成目标业务的流水数据。服务器520将生成的流水数据发送给终端510,终端510将流水数据打印出来或者显示在界面上。注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1