1.本发明涉及计算机技术领域领域,尤其涉及一种数据适配方法及系统。
背景技术:2.一般在前端系统中,前端会在不同场景下调用不同后端系统的接口api,后端返回的相同数据描述的字段,字段名和字段值的类型和格式都有可能彼此差异极大。前端系统接收到后端接口api返回的数据后,进行页面上的展示,或者进行二次加工,如截取、脱敏、翻译、类型转换等操作,注入前端组件或封装入业务逻辑中。
3.前端在接收后端返回数据后,进行组件化开发或者实现业务逻辑封装时,与接口耦合太重,接口字段描述在前端代码中曝光率过高且分散。相同功能相同交互的组件,可能就因为对接两个后端系统的接口,就要写大量兼容逻辑,甚至一分为二,重复开发浪费人力物力。一旦接口的字段有改动或者进行合规化改造,前端写的逻辑也得相应的修改,并且全局搜索并不能保证修改完全,会增大需求落地的风险。
技术实现要素:4.为解决现有技术的不足,本发明提出一种数据适配方法及系统,通过应用数据整合适配层,极大改善前端业务逻辑中与接口的耦合度,完成了前端域内数据的标准统一与表现一致性。场景拓展进行字段扩展时,实现不影响旧字段,支持新字段的向下兼容性。同时,能让系统相应角色,拥有一个易识别、好管理的统一收口,减少逻辑发散分布引起的管理困难。前端页面内不再需要关注数据加工的逻辑,减少不同页面中大量相似代码。
5.为实现以上目的,本发明所采用的技术方案包括:
6.一种数据适配方法,包括:
7.数据整合适配层通过后端接口获取后端系统发送的原始数据,其中,所述后端接口来自于不同的后端系统;
8.根据所述数据整合适配层的数据描述集合,确定所述数据的字段含义,生成第一标准数据;
9.所述数据描述集合包括标准数据格式约定;
10.所述第一标准数据包括字段名和字段值;
11.将所述第一标准数据进行适配处理,生成第二标准数据;
12.所述第二标准数据包括扩展增加字段名及对应字段值;
13.将所述第二标准数据发送至前端页面与组件。
14.进一步地,所述将所述第一标准数据进行适配处理包括:对所述字段名进行适配处理,和对所述对字段值进行适配处理;
15.其中,对所述字段名进行适配处理包括,将所述字段名命名为普通字符字面量和统一所述字段名的表达形式;
16.对所述对字段值进行适配处理包括,将所述字段值转化为字符串、对所述字段值
进行扩展和对所述字段值进行脱敏处理。
17.进一步地,所述对所述字段名进行适配处理还包括,判断所述字段名是否重复,若所述字段名重复,则对所述字段名进行统一命名并去重。
18.进一步地,所述将所述字段名命名为普通字符字面量包括:判断所述字段名是否为数字或者特殊字符,若所述字段名为数字或者特殊字符,则将所述字段名重命名为普通字符字面量;
19.所述统一所述字段名的表达形式包括:判断所述字段名的表达形式是否一致,若所述字段名的表达形式不一致,则统一所述字段名的表达形式。
20.进一步地,所述对所述对字段值进行适配处理还包括:判断所述字段值的格式是否符合所述标准数据格式约定,若所述字段值的格式不符合所述标准数据格式约定,则将所述字段值的格式转换为标准数据格式;
21.判断所述字段值是否被格式化,若所述字段值被格式化,则恢复所述字段值格式。
22.进一步地,所述将所述字段值转化为字符串包括:判断所述字段值是否为数字类型,若所述字段值为数字类型,则将所述字段值转化为字符串;
23.所述对所述字段值进行扩展包括:判断所述字段值是否为可扩展语义类型,若所述字段值为可扩展语义类型,则对所述字段值进行扩展;
24.所述对所述字段值进行脱敏处理包括:判断所述字段值是否需要进行脱敏处理,若所述字段值需要进行脱敏处理且未脱敏,则对所述字段值进行脱敏处理。
25.本发明还涉及一种数据适配系统,包括:
26.获取模块,用于数据整合适配层通过后端接口获取后端系统发送的原始数据,其中,所述后端接口来自于不同的后端系统;
27.生成模块,用于根据所述数据整合适配层的数据描述集合,确定所述数据的字段含义,生成第一标准数据;
28.所述数据描述集合包括标准数据格式约定;
29.所述第一标准数据包括字段名和字段值;
30.处理模块,用于将所述第一标准数据进行适配处理,生成第二标准数据;
31.所述第二标准数据包括扩展增加字段名及对应字段值;
32.传输模块,用于将所述第二标准数据发送至前端页面与组件。
33.本发明还涉及一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
34.本发明还涉及一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
35.本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
36.本发明的有益效果为:
37.通过应用数据整合适配层,极大改善前端业务逻辑中与接口的耦合度,完成了前端域内数据的标准统一与表现一致性。场景拓展进行字段扩展时,实现不影响旧字段,支持新字段的向下兼容性。同时,能让系统相应角色,拥有一个易识别、好管理的统一收口,减少逻辑发散分布引起的管理困难。前端页面内不再需要关注数据加工的逻辑,减少不同页面
中大量相似代码。
附图说明
38.图1为本发明一种数据适配方法流程示意图。
39.图2为本发明一种数据适配结构示意图。
具体实施方式
40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.本发明第一方面涉及一种步骤流程如图1所示的数据适配方法,包括:
42.数据整合适配层通过后端接口获取后端系统发送的原始数据,其中,所述后端接口来自于不同的后端系统;
43.前端在页面交互中,在特定时机调用接口获取数据加以展示,原始数据在后端返回给前端后,前端可以选择直接展示接口返回数据中的内容,或根据业务场景进行数据截取、脱敏、转换格式等逻辑后再进行展示。在实际开发过程中,前端项目可能需要对接多个后端系统,来拼装页面所需数据。而接口由于来自不同后端系统,或者由于后端做的数据处理程度不同,相同语义描述的字段名与字段值在不同接口中表现并不一致。
44.前端系统在接收到后端返回数据后,为了兼顾展示层与逻辑层对数据的不同要求,首先会在单个页面实例中编写大量数据二次加工的逻辑;然后,另一个页面实例如果遇到同样的场景,同样需要再写一套相似的数据二次加工逻辑;最后,前端组件化开发中直接引用返回数据中的字段字面量,导致被注入的数据与接口返回字段强关联;使得后端接口字段一旦有调整,前端面临的是多倍的改动量,极易漏改、错改。因此通过增加数据整合适配层改善前端业务逻辑中与接口的耦合度。
45.根据所述数据整合适配层的数据描述集合,确定所述数据的字段含义,生成第一标准数据;
46.在本技术实施例中,数据整合适配层在设立之初,需要确立数据描述集合,用于表达某一个确定的字段含义,所述数据描述集合包括标准数据格式约定;
47.所述第一标准数据包括字段名和字段值,如下表所示:
48.字段名字段值描述user_name"王小五"用户名user_name_des"王*五"用户名脱敏i级user_name_simple_des"*五"用户名脱敏ii级user_age"18"用户年龄user_birth_date"0601"用户出生日期user_birth_year"2001"用户出生年份user_birth"20010601"用户性别user_sex"male"用户性别
user_sex_translate"男性"用户性别简体描述user_nationality"chinese"用户国籍id_card"101100200106012001"用户身份证号id_card_des"101100***001"用户身份证号脱敏phone_number"18612312345"用户手机号phone_number_des"186***2345"用户手机号脱敏bank_card"655269090909090"绑定卡号bank_card_des"65526***9090"绑定卡号脱敏trans_amount"1000"交易金额trans_amount_display"1,000.00"交易金额trans_date"20010601"交易日期trans_time"102356"交易时间trans_time_detailed"20220703102356"交易日期拼接trans_time_detailed_format"2022-07-0310:23:56"交易日期格式化
………
49.将所述第一标准数据进行适配处理,生成第二标准数据,所述第二标准数据包括扩展增加字段名及对应字段值;
50.所述将所述第一标准数据进行适配处理包括:对所述字段名进行适配处理,和对所述对字段值进行适配处理;
51.其中,对所述字段名进行适配处理包括,将所述字段名命名为普通字符字面量和统一所述字段名的表达形式;
52.所述将所述字段名命名为普通字符字面量包括:判断所述字段名是否为数字或者特殊字符,若所述字段名为数字或者特殊字符,则将所述字段名重命名为普通字符字面量;
53.具体而言,在本技术实施例中,分析字段名是否为数字或其他特殊字符,若是则进行前端强制重命名为普通字符字面量。例如,现有以下接口返回对象:{“01”:“abc”,“023”:“bcd”},进行处理后,对象转换为{“zero_one”:“abc”,“zero_two_three”:“bcd”}。
54.所述统一所述字段名的表达形式包括:判断所述字段名的表达形式是否一致,若所述字段名的表达形式不一致,则统一所述字段名的表达形式;
55.具体而言,在本技术实施例中,字段名的表达形式为“下划线”或是“驼峰”,将“驼峰”格式转换为“下划线”形式。例如,现有以下接口返回对象:{“username”:“王小五”},进行处理后,对象转换为{“user_name”:“王小五”}。
56.所述对所述字段名进行适配处理还包括,判断所述字段名是否重复,若所述字段名重复,则对所述字段名进行统一命名并去重。
57.具体而言,在本技术实施例中,分析字段key是否重复,或有多个意义相同的字段,表达相同的含义——如果有多个重复含义的字段,进行“去重”与“命名标准化”处理。例如,现有以下接口返回对象:{“phone”:“186***1234”,“mobile_number”:“18612341234”},进行处理后,对象转换为{“phone_number”:“18612341234”}。
58.对所述对字段值进行适配处理包括,将所述字段值转化为字符串、对所述字段值进行扩展和对所述字段值进行脱敏处理。
59.所述将所述字段值转化为字符串包括:判断所述字段值是否为数字类型,若所述字段值为数字类型,则将所述字段值转化为字符串;
60.具体而言,在本技术实施例中,分析字段值是否为数字类型,若是,为避免前端语言中的弱类型特征,对字段值进行强制转换为字符串。例如现有以下接口返回对象:{“user_age”:18},进行处理后,对象转换为{“user_age”:“18”}。
61.所述对所述字段值进行扩展包括:判断所述字段值是否为可扩展语义类型,若所述字段值为可扩展语义类型,则对所述字段值进行扩展;
62.具体而言,在本技术实施例中,分析字段值是否为可扩展语义类型,若是,则进行前端扩展操作,以满足页面逻辑,无需再请求其他接口获取相关字段。如现有以下接口返回对象:{“id_card”:"101100200106012001"},进行处理后,对象转换为{“id_card”:"101100200106012001","user_age":"21","user_birth_date":"0601","user_birth_year":"2001"}。
63.所述对所述字段值进行脱敏处理包括:判断所述字段值是否需要进行脱敏处理,若所述字段值需要进行脱敏处理且未脱敏,则对所述字段值进行脱敏处理。
64.具体而言,在本技术实施例中,分析字段值的内容与格式是否符合数据安全规范,若否,则进行前端适配操作。例如,现有以下接口返回对象:{“id_card”:"101100200106012001","phone_number":"18612312345"},对象中的身份证号、手机号未进行脱敏操作,前端会新增脱敏后的字段供页面展示,转换后的对象为{“id_card”:"101100200106012001",“id_card_des”:"101100***001","phone_number":"18612312345","phone_number_des":"186***2345"}。
65.所述对所述对字段值进行适配处理还包括:判断所述字段值的格式是否符合所述标准数据格式约定,若所述字段值的格式不符合所述标准数据格式约定,则将所述字段值的格式转换为标准数据格式;
66.具体而言,在本技术实施例中,分析字段值的内容与格式是否符合标准数据格式的约定,若否,则进行前端适配操作。例如现有以下接口返回对象:{"user_nationality":"chinese"},国籍字段的拼写首字母没有大写,进行处理后,对象转换为{"user_nationality":"chinese"}。
67.判断所述字段值是否被格式化,若所述字段值被格式化,则恢复所述字段值格式。
68.具体而言,在本技术实施例中,分析字段值是否存在页面中格式化后展示的场景,如有,则进行前端适配操作。例如,现有以下接口返回对象:{"trans_amount":"1000","trans_date":"20220703","trans_time":"102356"},对象转换为{"trans_amount":"1000","trans_amount_display":"1,000.00",“trans_time_detailed”:“20220703102356”,“trans_time_detailed_format”:“2022-07-0310:23:56”}。
69.将所述第二标准数据发送至前端页面与组件。
70.通过相应字段的扩展和修改,前端完成了前端域内数据的标准统一与表现一致性。后期如果业务场景需要更多形式的数据形式,可在数据整合适配层进行继续扩展,即可实现不影响旧字段,支持新字段的向下兼容性。
71.本发明另一方面还涉及数据适配处理系统,其结构如图2所示,包括:
72.获取模块,用于数据整合适配层通过后端接口获取后端系统发送的原始数据,其
中,所述后端接口来自于不同的后端系统;
73.生成模块,用于根据所述数据整合适配层的数据描述集合,确定所述数据的字段含义,生成第一标准数据;
74.所述数据描述集合包括标准数据格式约定;
75.所述第一标准数据包括字段名和字段值;
76.处理模块,用于将所述第一标准数据进行适配处理,生成第二标准数据;
77.所述第二标准数据包括扩展增加字段名及对应字段值;
78.传输模块,用于将所述第二标准数据发送至前端页面与组件。
79.通过使用该系统,能够执行上述的运算处理方法并实现对应的技术效果。
80.本发明的实施例还提供能够实现上述实施例中的一种数据适配方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的一种数据适配方法的全部步骤。
81.本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。
82.优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
83.额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为lcd显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。
84.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序
产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
85.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
86.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
87.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
88.以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
技术特征:1.一种数据适配方法,其特征在于,包括:数据整合适配层通过后端接口获取后端系统发送的原始数据,其中,所述后端接口来自于不同的后端系统;根据所述数据整合适配层的数据描述集合,确定所述数据的字段含义,生成第一标准数据;所述数据描述集合包括标准数据格式约定;所述第一标准数据包括字段名和字段值;将所述第一标准数据进行适配处理,生成第二标准数据;所述第二标准数据包括扩展增加字段名及对应字段值;将所述第二标准数据发送至前端页面与组件。2.如权利要求1所述的方法,其特征在于,所述将所述第一标准数据进行适配处理包括:对所述字段名进行适配处理,和对所述对字段值进行适配处理;其中,对所述字段名进行适配处理包括,将所述字段名命名为普通字符字面量和统一所述字段名的表达形式;对所述对字段值进行适配处理包括,将所述字段值转化为字符串、对所述字段值进行扩展和对所述字段值进行脱敏处理。3.如权利要求2所述的方法,其特征在于,所述对所述字段名进行适配处理还包括,判断所述字段名是否重复,若所述字段名重复,则对所述字段名进行统一命名并去重。4.如权利要求3所述的方法,其特征在于,所述将所述字段名命名为普通字符字面量包括:判断所述字段名是否为数字或者特殊字符,若所述字段名为数字或者特殊字符,则将所述字段名重命名为普通字符字面量;所述统一所述字段名的表达形式包括:判断所述字段名的表达形式是否一致,若所述字段名的表达形式不一致,则统一所述字段名的表达形式。5.如权利要求2所述的方法,其特征在于,所述对所述对字段值进行适配处理还包括:判断所述字段值的格式是否符合所述标准数据格式约定,若所述字段值的格式不符合所述标准数据格式约定,则将所述字段值的格式转换为标准数据格式;判断所述字段值是否被格式化,若所述字段值被格式化,则恢复所述字段值格式。6.如权利要求5所述的方法,其特征在于,所述将所述字段值转化为字符串包括:判断所述字段值是否为数字类型,若所述字段值为数字类型,则将所述字段值转化为字符串;所述对所述字段值进行扩展包括:判断所述字段值是否为可扩展语义类型,若所述字段值为可扩展语义类型,则对所述字段值进行扩展;所述对所述字段值进行脱敏处理包括:判断所述字段值是否需要进行脱敏处理,若所述字段值需要进行脱敏处理且未脱敏,则对所述字段值进行脱敏处理。7.一种数据适配系统,其特征在于,包括:获取模块,用于数据整合适配层通过后端接口获取后端系统发送的原始数据,其中,所述后端接口来自于不同的后端系统;生成模块,用于根据所述数据整合适配层的数据描述集合,确定所述数据的字段含义,生成第一标准数据;所述数据描述集合包括标准数据格式约定;
所述第一标准数据包括字段名和字段值;处理模块,用于将所述第一标准数据进行适配处理,生成第二标准数据;所述第二标准数据包括扩展增加字段名及对应字段值;传输模块,用于将所述第二标准数据发送至前端页面与组件。8.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法。10.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
技术总结本发明涉及一种数据适配方法及系统,包括数据整合适配层通过后端接口获取后端系统发送的原始数据,其中,所述后端接口来自于不同的后端系统;根据所述数据整合适配层的数据描述集合,确定所述数据的字段含义,生成第一标准数据;所述数据描述集合包括标准数据格式约定;所述第一标准数据包括字段名和字段值;将所述第一标准数据进行适配处理,生成第二标准数据;所述第二标准数据包括扩展增加字段名及对应字段值;将所述第二标准数据发送至前端页面与组件。本申请完成了前端域内数据的标准统一与表现一致性,场景拓展进行字段扩展时,实现不影响旧字段,支持新字段的向下兼容性。支持新字段的向下兼容性。支持新字段的向下兼容性。
技术研发人员:王霄 李永顺
受保护的技术使用者:中信百信银行股份有限公司
技术研发日:2022.07.26
技术公布日:2022/11/1