本技术属于数据处理,尤其涉及一种数据的导入、数据的导出方法。
背景技术:
1、随着互联网的发展,业务中涉及的数据量日益增长。以空中下载技术(over-the-air technology,ota)系统为例,许多大厂的车辆支持远程升级服务。随着车系、车型和零件等信息越来越多,ota管理平台的数据就越来越多,以致于数据的创建和收集难度日益增加。因此,在有此类需求的业务中,数据的导入是十分有必要的。
2、目前,通常使用的java后端解析excel框架的工具为apache poi和jxl。在业务服务体系下,数据的导入服务往往穿插写到对应的业务服务模块,与业务代码高度耦合,在有新的数据导入时,需要修改对应业务服务模块中的代码。如此,对于不同导入文件,数据的解析和导入方法需要改变,不同业务服务模块中就会存在大量的文件解析冗余代码,增加了后期业务服务模块的维护难度。
技术实现思路
1、本技术实施例提供一种数据的导入、数据的导出方法通过导入请求中的模板id获取对应的模板,基于获取的模板解析目标文件,获取导入数据和业务服务模块的接口地址,通过接口地址向业务服务模块的导入数据,将数据导入服务和业务服务模块解耦,业务服务模块中不会出现文件解析代码,降低了后期业务服务模块的维护难度,即使数据导入过程出现问题,也不会影响业务服务模块的其他业务。
2、第一方面,本技术实施例提供一种数据的导入方法,包括:
3、在接收到前端发送的导入请求的情况下,获取导入请求中第一模板id对应的第一模板,导入请求包括第一目标文件、第一模板id和第一额外参数,第一模板包括第一模板id、第一页表格名称、第一标题名称与属性名的映射关系,以及第一业务服务模块的接口地址;
4、从第一目标文件中获取第一页表格名称对应的第一页表格;
5、获取第一页表格的标题行中的第一标题名称和第一标题名称对应的第一列号;
6、获取第一页表格中第i个数据行的导入数据,并将与导入数据的第二列号相同的第一列号对应的第一标题名称,作为导入数据的标题名称;
7、根据第一标题名称与属性名的映射关系,将导入数据的标题名称转换为属性名,得到第一页表格中全部数据行的导入数据和导入数据对应的属性名;
8、通过第一业务服务模块的接口地址向第一业务服务模块发送第一额外参数、第一页表格中全部数据行的导入数据和导入数据对应的属性名。
9、在一个可能实现的实施例中,在接收到前端发送的导入请求的情况下,获取导入请求中第一模板id对应的第一模板,包括:
10、在接收到前端发送的导入请求的情况下,创建导入任务,导入请求包括第一目标文件、第一模板id和第一额外参数;
11、获取第一模板id对应的第一模板。
12、在一个可能实现的实施例中,导入任务包括任务状态,任务状态为第一目标状态;方法还包括:
13、在不能从第一目标文件中获取到第一页表格名称对应的第一页表格的情况下,更新任务状态为第二目标状态。
14、在一个可能实现的实施例中,在通过第一业务服务模块的接口地址向第一业务服务模块发送第一额外参数、第一页表格中全部数据行的导入数据和导入数据对应的属性名之后,方法还包括:
15、接收第一业务服务模块发送的调用结果;
16、在调用结果表征第一标题名称没有接收到第一页表格中全部数据行的导入数据和导入数据对应的属性名的情况下,更新任务状态为第三目标状态。
17、在一个可能实现的实施例中,在通过第一业务服务模块的接口地址向第一业务服务模块发送第一额外参数、第一页表格中全部数据行的导入数据和导入数据对应的属性名之后,方法还包括:
18、接收第一业务服务模块发送的验证结果;
19、在验证结果表征目标数据行没有通过验证的情况下,接收目标数据行没有通过验证的目标信息,并更新任务状态为第四目标状态;
20、将目标数据行的导入数据和目标信息存入目标数据表。
21、在一个可能实现的实施例中,导入请求还包括第一同步标识;方法还包括:
22、在第一同步标识为第一标识,且接收到第一业务服务模块发送的调用结果的情况下,向前端发送目标信息。
23、第二方面,本技术实施例提供了一种数据的导出方法,包括:
24、在接收到前端发送的导出请求的情况下,获取导出请求中第二模板id对应的第二模板,导出请求包括第二模板id和第二额外参数,第二模板包括第二模板id、第二页表格名称、第二标题名称、第二标题名称与属性名的映射关系,以及第二业务服务模块的接口地址和第二业务服务模块对应的分页信息;
25、基于第二额外参数,按照第二业务服务模块对应的分页信息,分别从第二业务服务模块获取多个数据行的导出数据和导出数据的属性名;
26、创建第二目标文件,并根据第二页表格名称在第二目标文件中创建第二页表格对应的第三页表格,将第二标题名称写入第三页表格的标题行;
27、根据第二标题名称与属性名的映射关系,将多个数据行的导出数据的属性名转换成第三标题名称;
28、分别将第i个数据行的导出数据中,与第二标题名称相同的第三标题名称对应的导出数据写入第三页表格的第i个数据行,得到第三目标文件,第三目标文件包括第二页表格,第二页表格包括第二标题名称和第二标题名称对应的导出数据。
29、在一个可能实现的实施例中,基于第二额外参数,按照第二业务服务模块对应的分页信息,分别从第二业务服务模块获取多个数据行的数据和数据的属性名,包括:
30、根据第二业务服务模块对应的分页信息,确定第二页表格的数据行的数量;
31、基于额外参数和第二页表格的数据行的数量,从第二业务服务模块获取第二页表格的数据行中的导出数据和导出数据的属性名;
32、分别将第i个数据行的导出数据中,与第二标题名称相同的第三标题名称对应的导出数据写入第三页表格的第i个数据行,得到第三目标文件,包括:
33、分别将第二页表格的第i个数据行的导出数据中,与第二标题名称相同的第三标题名称对应的导出数据写入第三页表格的第i个数据行,得到第三目标文件。
34、在一个可能实现的实施例中,还包括:
35、将第三目标文件保存至预设地址;
36、获取预设地址的路径和第二页表格中导出数据的行数;
37、保存预设地址的路径和第二页表格中导出数据的行数。
38、在一个可能实现的实施例中,导出请求还包括第二同步标识;方法还包括:
39、在第二同步标识为第一标识,且得到第三目标文件的情况下,将第三目标文件转化成第四目标文件。
40、第三方面,本技术实施例提供一种数据的导入装置,包括:
41、获取模块,用于在接收到前端发送的导入请求的情况下,获取导入请求中第一模板id对应的第一模板,导入请求包括第一目标文件、第一模板id和第一额外参数,第一模板包括第一模板id、第一页表格名称、第一标题名称与属性名的映射关系,以及第一业务服务模块的接口地址;
42、获取模块,还用于从第一目标文件中获取第一页表格名称对应的第一页表格;
43、获取模块,还用于获取第一页表格的标题行中的第一标题名称和第一标题名称对应的第一列号;
44、获取模块,还用于获取第一页表格中第i个数据行的导入数据,并将与导入数据的第二列号相同的第一列号对应的第一标题名称,作为导入数据的标题名称;
45、转换模块,用于根据第一标题名称与属性名的映射关系,将导入数据的标题名称转换为属性名,得到第一页表格中全部数据行的导入数据和导入数据对应的属性名;
46、发送模块,用于通过第一业务服务模块的接口地址向第一业务服务模块发送第一额外参数、第一页表格中全部数据行的导入数据和导入数据对应的属性名。
47、第四方面,本技术实施例提供一种数据的导出装置,包括:
48、获取模块,用于在接收到前端发送的导出请求的情况下,获取导出请求中第二模板id对应的第二模板,导出请求包括第二模板id和第二额外参数,第二模板包括第二模板id、第二页表格名称、第二标题名称、第二标题名称与属性名的映射关系,以及第二业务服务模块的接口地址和第二业务服务模块对应的分页信息;
49、获取模块,还用于基于第二额外参数,按照第二业务服务模块对应的分页信息,分别从第二业务服务模块获取多个数据行的导出数据和导出数据的属性名;
50、创建模块,用于创建第二目标文件,并根据第二页表格名称在第二目标文件中创建第二页表格对应的第三页表格,将第二标题名称写入第三页表格的标题行;
51、转换模块,用于根据第二标题名称与属性名的映射关系,将多个数据行的导出数据的属性名转换成第三标题名称;
52、写入模块,用于分别将第i个数据行的导出数据中,与第二标题名称相同的第三标题名称对应的导出数据写入第三页表格的第i个数据行,得到第三目标文件,第三目标文件包括第二页表格,第二页表格包括第二标题名称和第二标题名称对应的导出数据。
53、第五方面,本技术实施例提供了一种电子设备,设备包括:
54、处理器以及存储有计算机程序指令的存储器;
55、处理器执行计算机程序指令时实现上述任意一项的数据的导入方法或者数据的导出方法。
56、第六方面,本技术实施例提供了一种计算机存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述任意一项的数据的导入方法或者数据的导出方法。
57、第七方面,本技术实施例提供了一种计算机程序产品,其特征在于,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任意一项的数据的导入方法或者数据的导出方法。
58、本技术实施例的数据的导入方法、数据的导出方法,该数据导入方法包括:在接收到前端发送的导入请求的情况下,获取导入请求中第一模板id对应的第一模板,导入请求包括第一目标文件、第一模板id和第一额外参数,第一模板包括第一模板id、第一页表格名称、第一标题名称与属性名的映射关系,以及第一业务服务模块的接口地址;从第一目标文件中获取第一页表格名称对应的第一页表格;获取第一页表格的标题行中的第一标题名称和第一标题名称对应的第一列号;获取第一页表格中第i个数据行的导入数据,并将与导入数据的第二列号相同的第一列号对应的第一标题名称,作为导入数据的标题名称;根据第一标题名称与属性名的映射关系,将导入数据的标题名称转换为属性名,得到第一页表格中全部数据行的导入数据和导入数据对应的属性名;通过第一业务服务模块的接口地址向第一业务服务模块发送第一额外参数、第一页表格中全部数据行的导入数据和导入数据对应的属性名。如此,通过导入请求中的模板id获取对应的模板,基于获取的模板解析目标文件,获取导入数据和业务服务模块的接口地址,通过接口地址向业务服务模块的导入数据,将数据导入服务和业务服务模块解耦,业务服务模块中不会出现文件解析代码,降低了后期业务服务模块的维护难度,即使数据导入过程出现问题,也不会影响业务服务模块的其他业务。
1.一种数据的导入方法,其特征在于,包括:
2.根据权利要求1所述的数据的导入方法,其特征在于,所述在接收到前端发送的导入请求的情况下,获取所述导入请求中第一模板id对应的第一模板,包括:
3.根据权利要求2所述的数据的导入方法,其特征在于,所述导入任务包括任务状态,所述任务状态为第一目标状态;所述方法还包括:
4.根据权利要求3所述的数据的导入方法,其特征在于,在通过所述第一业务服务模块的接口地址向第一业务服务模块发送所述第一额外参数、所述第一页表格中全部数据行的导入数据和所述导入数据对应的属性名之后,所述方法还包括:
5.根据权利要求3所述的数据的导入方法,其特征在于,在通过所述第一业务服务模块的接口地址向第一业务服务模块发送所述第一额外参数、所述第一页表格中全部数据行的导入数据和所述导入数据对应的属性名之后,所述方法还包括:
6.根据权利要求1所述的数据的导入方法,其特征在于,所述导入请求还包括第一同步标识;所述方法还包括:
7.一种数据的导出方法,其特征在于,包括:
8.根据权利要求7所述的数据的导出方法,其特征在于,所述基于所述第二额外参数,按照所述第二业务服务模块对应的分页信息,分别从所述第二业务服务模块获取多个数据行的数据和所述数据的属性名,包括:
9.根据权利要求7所述的数据的导出方法,其特征在于,还包括:
10.根据权利要求7所述的数据的导出方法,其特征在于,所述导出请求还包括第二同步标识;所述方法还包括: