数据处理方法、电子设备及存储介质与流程

文档序号:27976064发布日期:2021-12-15 00:30阅读:75来源:国知局
1.本发明涉及计算机
技术领域
:,尤其涉及一种数据处理方法、电子设备及存储介质。
背景技术
::2.随着计算机技术的发展,越来越多的技术,例如,区块链(blockchain)、大数据、分布式等技术被应用在金融领域,传统金融业正在逐步向金融科技转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。金融科技领域下,开发人员在开发大数据应用的过程中,从大数据应用相关的业务对应的源码中,整理出对应业务所涉及的数据表的相关信息。但是,存在整理出的数据出现遗漏或错误的问题。技术实现要素:3.有鉴于此,本发明实施例提供一种数据处理方法、电子设备及存储介质,以解决相关技术中整理出的数据出现遗漏或错误的技术问题。4.为达到上述目的,本发明的技术方案是这样实现的:5.本发明实施例提供了一种数据处理方法,包括:6.从第一业务相关的业务系统对应的业务数据表中,获取所述第一业务对应的第一数据关系表中每个字段对应的第一字段值和第二字段值;其中,所述第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段;第一字段值和第二字段值分别为业务系统响应所述第一业务的第一处理请求前后的字段值;7.基于所述第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段;8.输出关于所述第一业务的第一信息,所述第一信息表征入参字段在所述第一数据关系表中对应的所有第一字段、以及每个第一字段对应的第一字段值和第二字段值。9.上述方案中,所述方法还包括:10.基于所述第一处理请求中的输入参数和所述第一信息,输出所述第一业务对应的业务逻辑。11.上述方案中,在构建所述第一数据关系表时,所述方法包括:12.从第一业务相关的业务系统中,获取业务系统在执行第一业务对应的测试用例的过程中所执行的sql语句;13.通过解析获取到的所有sql语句,确定出每个业务系统对应的每个业务数据表中与所述测试用例相关的第二字段和对应的字段值;14.基于测试用例中入参字段和对应的字段值、以及基于确定出的字段和对应的字段值,确定出字段值相同的每组字段;每组字段包括入参字段和第二字段;15.基于确定出的每组字段,构建第一数据关系表。16.上述方案中,在所述通过解析获取到的所有sql语句,确定出每个业务系统对应的每个业务数据表中与所述测试用例相关的第二字段和对应的字段值时,所述方法包括:17.按照空格对sql语句进行切割,得到第一数组;18.基于第一数组中的第一个字串以及设定的语句类型对应的设定字符串,确定出sql语句对应的语句类型;19.基于确定出的语句类型和对应的设定解析策略,从第一数组中提取出业务数据表的标识、对应语句类型对应的字段和字段值。20.上述方案中,所述从第一数组中提取出业务数据表的标识、对应语句类型对应的字段和字段值,包括:21.基于确定出的语句类型和对应的第一设定解析策略,从第一数组中提取出业务数据表的标识;22.基于确定出的语句类型和对应的第二设定解析策略,从第一数组中提取出业务数据表中包含的字段和对应的字段值。23.上述方案中,所述从第一数组中提取出业务数据表的标识,包括以下之一:24.在sql语句为插入语句、更新语句或删除语句的情况下,将第一数组中设定索引值对应的字串,确定为业务数据表的标识;25.在sql语句为查询语句的情况下,将第一数组中处于第一设定字串之后的第一个字串,确定为业务数据表的标识。26.上述方案中,所述从第一数组中提取出业务数据表中包含的字段和对应的字段值,包括:27.在sql语句为插入语句的情况下,基于第一数组中采用第二设定字串连接的第一组字串和第二组字串,确定出多组字段和字段值;28.在sql语句为更新语句的情况下,基于第一数组中的等号和第三设定字串所处的位置,从第一数组中确定出至少两组字段和字段值;29.在sql语句为删除语句或查询语句的情况下,基于第一数组中的等号所处的位置,确定出表征执行条件的一组字段和字段值。30.本发明实施例还提供了一种电子设备,包括:31.获取单元,用于从第一业务相关的业务系统对应的业务数据表中,获取所述第一业务对应的第一数据关系表中每个字段对应的第一字段值和第二字段值;其中,所述第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段;第一字段值和第二字段值分别为业务系统响应所述第一业务的第一处理请求前后的字段值;32.确定单元,用于基于所述第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段;33.输出单元,用于输出关于所述第一业务的第一信息,所述第一信息表征入参字段在所述第一数据关系表中对应的所有第一字段、以及每个第一字段对应的第一字段值和第二字段值。34.本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,35.其中,所述处理器用于运行所述计算机程序时,执行上述数据处理方法的步骤。36.本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理方法的步骤。37.本发明实施例中,从第一业务相关的业务系统对应的业务数据表中,获取第一业务对应的第一数据关系表中每个字段对应的第一字段值和第二字段值;基于第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段;输出关于第一业务的第一信息,第一信息表征入参字段在第一数据关系表中对应的所有第一字段、以及每个第一字段对应的第一字段值和第二字段值。其中,第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段;第一字段值和第二字段值分别为业务系统响应第一业务的第一处理请求前后的字段值。这样,电子设备输出的第一信息可以反映出第一业务相关的业务数据表、在业务数据表中的相关字段和字段的数据变化关系,不需要通过人工分析业务源码,来确定业务所涉及的业务数据表的相关信息,可以提高获取第一业务相关的数据的效率和准确度。附图说明38.图1为本发明实施例提供的数据处理方法的实现流程示意图;39.图2为本发明实施例提供的数据处理方法中构建第一数据关系表的实现流程示意图;40.图3为本发明实施例提供的获取业务系统执行的sql语句的示意图;41.图4为本发明实施例提供的确定第一数据关系表中的字段和字段值的实现流程示意图;42.图5为本发明另一实施例提供的确定第一数据关系表中的字段和字段值的实现流程示意图;43.图6为本发明实施例提供的第一数据关系图的示意图;44.图7为本发明实施例提供的第二数据关系图的示意图;45.图8为本发明应用实施例提供的数据处理方法的实现流程示意图;46.图9为本发明应用实施例提供的数据处理方法的示意图;47.图10为本发明实施例提供的电子设备的结构示意图;48.图11为本发明另一实施例提供的电子设备的硬件组成结构示意图。具体实施方式49.相关技术中,开发人员在开发大数据应用的过程中,或者测试人员在编写大数据应用的测试用例过程中,需要了解大数据应用相关的业务的处理过程,例如,涉及的业务数据表、业务数据表中涉及的字段、数据处理逻辑等。由于这些信息通常不会记载在实际的开发需求文档或测试需求文档,因此开发人员或测试人员,需要与业务开发人员进行交流,从大数据应用相关的业务对应的源码中,整理出对应业务所涉及的数据表的相关信息,比如,业务数据表的名称,业务数据表中与对应业务相关的字段信息、数据发生变更的字段等。但是,存在整理出的数据出现遗漏或错误的问题。50.基于此,本发明实施例提供了一种数据处理方法,从第一业务相关的业务系统对应的业务数据表中,获取第一业务对应的第一数据关系表中每个字段对应的第一字段值和第二字段值;基于第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段;输出关于第一业务的第一信息,所述第一信息表征入参字段在第一数据关系表中对应的所有第一字段、以及每个第一字段对应的第一字段值和第二字段值。其中,第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段;第一字段值和第二字段值分别为业务系统响应第一业务的第一处理请求前后的字段值。这样,电子设备输出的第一信息可以反映出第一业务相关的业务数据表、在业务数据表中的相关字段和字段的数据变化关系,不需要通过人工分析业务源码,来确定业务所涉及的业务数据表的相关信息,可以提高获取第一业务相关的数据的效率和准确度。51.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。52.图1为本发明实施例提供的数据处理方法的实现流程示意图,其中,流程的执行主体为终端、服务器等电子设备。如图1示出的,数据处理方法包括:53.步骤101:从第一业务相关的业务系统对应的业务数据表中,获取所述第一业务对应的第一数据关系表中每个字段对应的第一字段值和第二字段值;其中,所述第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段;第一字段值和第二字段值分别为业务系统响应所述第一业务的第一处理请求前后的字段值。54.这里,在向第一业务相关的业务系统发送第一业务的第一处理请求之前,获取第一业务对应的第一数据关系表;第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段。入参字段是指第一业务的输入参数对应的字段。55.电子设备在获取到第一业务对应的第一数据关系表的情况下,并且在向第一业务相关的业务系统发送第一业务的第一处理请求之前,基于第一数据关系表中包含的业务数据表的标识,从数据库中查找出第一业务相关的所有业务数据表;基于第一数据关系表中包含的字段,从查找到的每个业务数据表中,确定出第一业务对应的入参字段在对应业务数据表中对应的字段的第一字段值。56.电子设备在获取到所有第一字段值的情况下,向第一业务相关的业务系统发送第一业务的第一处理请求,在第一业务相关的业务系统成功响应第一处理请求之后,基于第一数据关系表,从第一业务相关的业务系统对应的业务数据表中,确定出第一业务对应的入参字段在对应业务数据表中对应的字段的第二字段值。其中,一个业务系统对应至少一张业务数据表。第一处理请求中包括第一业务的入参字段和对应的字段值。例如,在第一业务表征转账的情况下,第一入参字段为转账人姓名,第一入参字段的字段值为小王;第二入参字段为转账人账号,第二入参字段的字段值为表征账号的一串数字;第三入参字段为收款人姓名,第三入参字段的字段值为小李;第四入参字段为收款人账号,第四入参字段的字段值为表征账号的一串数字;第五字段为转账金额,第五字段的字段值为具体金额。57.在实际应用时,电子设备基于第一处理请求中包括的入参字段和对应的字段值,构造出对应的结构化查询语言(sql,structuredquerylanguage)语句;基于构造出的sql语句和第一数据关系表,从业务数据表中查询第一业务对应的入参字段在对应业务数据表中对应的字段的第二字段值。58.需要说明的是,第一业务相关的业务系统的数量可以为一个,也可以为至少两个;至少两个业务系统可以是独立存在的,也可以是集成在一起的。当至少两个业务系统独立存在时,所有相关的业务系统共同协作处理第一业务,电子设备向启动第一业务的处理流程的业务系统发送第一业务的第一处理请求。59.需要说明的是,第一数据关系表基于第一业务相关的业务系统在处理第一业务的过程中,通过调用数据库驱动中的相关函数而执行的结构化查询语言(sql,structuredquerylanguage)语句得到。需要说明的是,第一数据关系表可以由执行数据处理方法的电子设备构建,也可以由其他电子设备构建。60.其中,业务系统执行的sql语句通过在业务系统中的数据库驱动的源码中插入的设定跟踪语句提取到。设定跟踪语句用于提取对应的业务系统在处理第一业务的过程中所执行的sql语句,设定跟踪语句为java字节码。在实际应用中,在数据库函数的执行语句之前插入设定跟踪语句,例如,mysql数据库的数据库驱动中,主要由com.mysql.jdbc.preparedstatement这个类中的execute、executequery和executeupdate这三个函数执行数据库语句,因此,利用java字节码插桩技术,对这三个函数进行插桩,即,在execute、executequery和executeupdate这三个函数中的原函数执行语句之前插入设定跟踪语句,以通过设定跟踪语句提取这三个函数执行的sql语句。61.在一些实施例中,电子设备在向第一业务相关的业务系统发送第一业务的第一处理请求之前,构建出第一业务对应的第一数据关系表;如图2所示,在构建所述第一数据关系表时,所述方法包括:62.步骤201:从第一业务相关的业务系统中,获取业务系统在执行第一业务对应的测试用例的过程中所执行的sql语句。63.这里,电子设备基于第一业务对应的测试用例,向第一业务相关的业务系统发送相应的测试指令,并从第一业务相关的业务系统中,获取业务系统在执行接收到的测试指令的过程中所执行的sql语句。其中,64.业务系统执行的sql语句可以由运行业务系统的设备主动向发送测试指令的电子设备上报,也可以由电子设备向业务系统请求获取。65.该测试用例用于测试业务系统中与第一业务相关的功能。测试用例中包括用例标识、业务场景和用例参数等信息。业务场景表征业务类型,例如,转账。用例标识用于供业务系统关联输出用例标识和对应的sql语句。用例参数包括输入参数和输出参数。测试指令中至少包括输入参数。以转账为例,输入参数包括:转账人姓名、转账人账号、收款人姓名、收款人账号、转账金额等信息。66.测试指令携带用例标识。实际应用中,测试指令携带的用例标识根据通信协议类型进行设置,例如,在通信协议为超文本传输协议(http,hypertexttransferprotocol)的情况下,用例标识(testcaseid)可以为:1005。67.如图3所示,实际应用中,用户触发电子设备运行第一业务对应的测试用例,电子设备基于测试用例向第一业务相关的业务系统发送测试指令,测试指令携带用例标识。业务系统对应的设备在业务系统的系统入口提取用例标识,并捕获业务系统在执行测试用例相关的测试指令的过程中执行的sql操作,关联输出提取到的用例标识和所有sql操作对应的sql语句。电子设备获取业务系统对应的设备关联输出的用例标识和sql语句;基于用例标识,将测试用例的相关参数和sql语句关联存储,从而将同一测试用例对应的相关参数和sql语句关联存储。其中,对业务数据表的sql操作主要包括:查询、删除、插入和修改等。68.步骤202:通过解析获取到的所有sql语句,确定出每个业务系统对应的每个业务数据表中与所述测试用例相关的第二字段和对应的字段值。69.电子设备在获取第一业务相关的每个业务系统执行的所有sql语句的情况下,解析获取到的每条sql语句,得到每个业务系统对应的每个业务数据表中,与测试用例相关的第二字段和对应的字段值。sql语句中包括业务数据表的名称或标识、字段和对应的字段值。70.为了提高解析sql语句的效率和准确度,从而提高第一数据关系表中的数据的准确度,按照如图4所示的流程解析每条sql语句。如图4所示,在一些实施例中,在所述通过解析获取到的所有sql语句,确定出每个业务系统对应的每个业务数据表中与所述测试用例相关的第二字段和对应的字段值时,所述方法包括:71.步骤401:按照空格对sql语句进行切割,得到第一数组。72.这里,电子设备根据sql语句中包含的空格,对sql语句进行切割,得到第一数组。其中,每条sql语句对应一个第一数组;第一数组中包括多个字串(或称为分词),还可以包括标点符号,例如,括号、逗号和等号等。切割得到的一个字串可以单独的一个字符串构成,也可以由通过设定的连接符连接的两个字符串构成。每个字符串包括至少一个字符。例如,插入语句对应的第一数组中不包括等号,但包括括号和逗号;更新语句、删除语句和查询语句中均包括至少一个等号,均不包括括号。73.步骤402:基于第一数组中的第一个字串以及设定的语句类型对应的设定字符串,确定出sql语句对应的语句类型。74.这里,考虑到在实际应用中,sql语句中的第一个字串表征sql语句所属的语句类型,因此,将第一数组中的第一个字串分别与设定的语句类型对应的设定字串进行比较,将与第一个字串匹配的设定字串对应的设定的语句类型,确定为sql语句所属的语句类型。设定字串是指设定的字符串。75.其中,设定的语句类型包括插入语句、更新语句、删除语句和查询语句。例如,插入语句对应的设定字串为insert,更新语句对应的设定字串为update,删除语句对应的设定字串为delete,查询语句对应的设定字串为select。76.步骤403:基于确定出的语句类型和对应的设定解析策略,从第一数组中提取出业务数据表的标识、对应语句类型对应的字段和字段值。77.其中,设定语句类型和设定解析策略一一对应,设定解析策略表征解析对应的设定语句类型的方法。78.这里,电子设备基于设定语句类型和设定解析策略之间的设定对应关系,确定出sql语句所属的语句类型对应的设定解析策略,按照确定出的设定解析策略,从该sql语句对应的第一数组中,提取出业务数据表的标识、对应语句类型对应的字段和字段值。79.需要说明的是,由于插入语句通常不存在执行条件,更新语句、删除语句和查询语句通常有执行条件,因此,插入语句对应字段均为不存在执行条件的常规字段;更新语句、删除语句和查询语句均对应字段中包括表征执行条件的条件字段。80.本方案中,电子设备按照语句类型对sql语句进行解析,从而确定出sql语句中包含的业务数据表的标识、对应语句类型对应的字段和字段值,可以提高sql语句的解析效率和准确度。81.考虑到不同的语句类型的sql语句具有不同的特点,因此解析不同语句类型的sql语句的方法也不同。为了提高sql语句的解析结果的准确度,如图5所示,在一些实施例中,所述从第一数组中提取出业务数据表的标识、对应语句类型对应的字段和字段值,包括:82.步骤501:基于确定出的语句类型和对应的第一设定解析策略,从第一数组中提取出业务数据表的标识。83.这里,电子设备基于sql语句所属的语句类型对应的第一设定解析策略,确定出解析业务数据表的标识的方法;按照确定出的解析业务数据表的标识的方法,从第一数组中提取出业务数据表的标识。84.其中,每种设定语句类型对应一种第一设定解析策略和一种第二设定解析策略。第一设定解析策略表征解析业务数据表的标识的方法,第二设定解析策略表征解析业务数据表中的字段和字段值的方法。第一设定解析策略根据对应的语句类型中业务数据表的标识的分布特点进行设置,例如,根据业务数据表的标识在对应的语句类型的sql语句中所处的位置,或者根据sql语句中与业务数据表的标识相邻的字串进行设置。第二设定解析策略基于对应的语句类型的sql语句中字段和字段值的分布特点进行设置。85.需要说明的是,不同的设定语句类型对应的第一设定解析策略可以相同,也可以不同。86.例如,在插入语句insertintotbl_test(field1,field2,...,fieldx)valus(xx,xx,xx...xxx)中,第三个字串对应为业务数据表的标识;在更新语句updatetabletbl_xxsetfieldx=xxwherefieldx=xx中,第三个字串对应为业务数据表的标识;在删除语句deletetabletbl_xxwherefieldx=xx中,第三个字串对应为业务数据表的标识,在查询语句selectfield1,field2fromtbl_xxwherefield1=xx中,业务数据表的标识位于from之后,因此,插入语句、更新语句和删除语句对应的第一设定解析策略均相同,查询语句对应的第一设定解析策略与插入语句、更新语句和删除语句对应的第一设定解析策略均不同。87.考虑到不同的语句类型的sql语句中业务数据表的标识的分布特点不同,因此,提取不同的语句类型的sql语句中的业务数据表的标识的方法也有所相同。为了更快更准确地提取出业务数据表的标识,在一些实施例中,所述从第一数组中提取出业务数据表的标识,包括以下之一:88.在sql语句为插入语句、更新语句或删除语句的情况下,将第一数组中设定索引值对应的字串,确定为业务数据表的标识;89.在sql语句为查询语句的情况下,将第一数组中处于第一设定字串之后的第一个字串,确定为业务数据表的标识。90.这里,在sql语句为插入语句、更新语句或删除语句的情况下,电子设备从第一数组中提取出设定索引值对应的字串,设定索引值对应的字串即为业务数据表的标识;其中,设定索引值表征第一数组中字串的排列序号。在实际应用时,考虑到在插入语句、更新语句和删除语句中,业务数据表的标识排在第三,因此,设定索引值为3。91.考虑到查询语句中业务数据表的标识位于from之后,因此,在sql语句为查询语句的情况下,将第一数组中处于第一设定字串之后的第一个字串,确定为业务数据表的标识,第一设定字串为from。92.步骤502:基于确定出的语句类型和对应的第二设定解析策略,从第一数组中提取出业务数据表中包含的字段和对应的字段值。93.这里,电子设备基于sql语句所属的语句类型对应的第二设定解析策略,确定出解析字段和字段值的方法,按照确定出的解析字段和字段值的方法,从第一数组中提取出所有字段和对应的字段值。94.考虑到不同的语句类型的sql语句中字段和字段值的分布特点各不相同,针对不同的语句类型,采用不同的解析策略提取sql语句中的字段和字段值,从而更快更准地解析出的字段和字段值的准确度。在一些实施例中,所述从第一数组中提取出业务数据表中包含的字段和对应的字段值,包括:95.在sql语句为插入语句的情况下,基于第一数组中采用第二设定字串连接的第一组字串和第二组字串,确定出多组字段和字段值;96.在sql语句为更新语句的情况下,基于第一数组中的等号和第三设定字串所处的位置,从第一数组中确定出至少两组字段和字段值;其中,第一组字段和字段值表征更新语句的执行条件;97.在sql语句为删除语句或查询语句的情况下,基于第一数组中的等号所处的位置,确定出表征执行条件的一组字段和字段值。98.其中,第二设定字串为valus,第三设定字串为where。99.这里,考虑到插入语句中的字段位于valus之前的括号中,字段值位于valus之后的括号中,因此,在sql语句为插入语句的情况下,电子设备可以从第一数组中识别出第二设定字串,例如valus,将第一数组中位于第二设定字串之前的第一括号中的所有字串,确定为第一组字串,第一组字串中的每个字串为一个字段;将第一数组中位于第二设定字串之后的第二括号中的所有字串,确定为第二组字串,第二组字串中的每个字串为一个字段值;基于第一组字串和第二组字串中各字串对应的排列序号,确定出每个字段对应的字段值,得到多组字段和字段值。其中,第一括号和第二括号均包括左括号和右括号。处于相同的排序序号的字段和字段值为一组。例如,第二组字串中的第一个字串为第一组字串中第一个字串对应的字段值。100.实际应用时,插入语句不存在执行条件,在sql语句为插入语句的情况下,按照以下方式从第一数组中,确定出每个字段和对应的字段值:101.遍历插入语句对应的第一数组,去除左括号、逗号和右括号,逐个提取字段,直到遇到values,停止提取字段,括号中的每个字串对应为一个字段;102.继续遍历插入语句对应的第一数组,去除values之后的左括号、逗号和右括号,逐个提取字段值,遍历结束;其中,括号中的每个字串对应为一个字段值;103.根据排列顺序,将字段和字段值对应起来,得到多组第一类型的字段和字段值,第一类型的字段和字段值表示为:fild[0]:value[0]、fild[1]:value[1]、fild[2]:value[2]。第一类型的字段为常规字段,不存在执行条件。[0104]考虑到更新语句表征在满足where之后的执行条件的情况下,基于位于where之前的一组字段和字段值,对对应的数据表执行更新操作,即,位于where之后的一组字段和字段值为位于where之前的一组字段和字段值的执行条件,因此,第三设定字串为where。在sql语句为更新语句的情况下,在第一数组中识别出第三设定字串;将第一数组中采用第一等号连接的两个字串,确定为一组第二类型的字段和字段值;将第一数组中采用第二等号连接的两个字串,确定为一组第二类型的字段和字段值;其中,第一等号位于第三设定字串之前,第二等号位于第三设定字串之后;第二等号对应的一组字段和字段值表征更新语句的执行条件。实际应用时,可以将第二等号对应的一组字段和字段值,放置于所有第一等号对应的每组字段和字段值,以便于区分执行条件。[0105]实际应用时,在sql语句为更新语句的情况下,按照以下方式从第一数组中,确定出至少两组字段和字段值:[0106]遍历更新语句对应的第一数组,去除第一数组中的set和逗号,逐个提取字段和字段值,即,将等号之前的字串作为字段,将等号之后的字串作为等号之前的字段对应的字段值,形成一组第一类型的字段和字段值对,例如,field[0]=value0、field[1]=value1,直到遇到where;[0107]继续遍历更新语句对应的第一数组,去除逗号,逐个提取条件字段和对应的字段值,其中,将位于where之后,且位于等号之前的字串作为条件字段,将位于等号之后的字串为等号之前的条件字段对应的字段值,得到一组第二类型的字段和字段值,遍历结束;其中,第二类型的字段为条件字段,第二类型的字段和对应的字段值,为更新语句的执行条件。条件字段和对应的字段值表示为:con_field[0]=con_value0、con_field[1]=con_value1。[0108]考虑到在删除语句和查询语句中,where之后的字段和对应的字段值为对应的sql语句的执行条件,针对删除语句和查询语句仅提取条件字段和对应的字段值,而where之后的字段和对应的字段值通过等号连接,因此,在sql语句为删除语句或查询语句的情况下,将第一数组中位于等号之前的字串确定为字段,将等号之后的字串确定为等号之前的字段对应的字段值,得到一组表征执行条件的字段和字段值,即得到一组第二类型的字段和字段值。[0109]在实际应用时,在sql语句为删除语句的情况下,遍历删除语句对应的第一数组,去除where字串和and字串,将等号之前的字串作为字段,将等号之后的字串作为等号之前的字段对应的字段值,形成一组第二类型的字段和字段值对,例如,con_field[0]=con_value0;遍历结束。[0110]在实际应用时,在sql语句为查询语句的情况下,遍历查询语句对应的第一数组,遇到where时,逐个提取字段,遍历到等号时,将等号前面的字段和等号后面的字段值进行匹配,形成一组条件字段和字段值,例如,字段域con_field[0]=con_value0;遍历结束。[0111]实际应用时,在执行完步骤501和步骤502之后,可以以表格的形式输出每个业务数据表的标识、业务数据表中包括的第一类型的字段信息、第二类型的字段信息,如下表所示:[0112]业务数据表的名称table_name第一类型的字段信息field0:value0、field1:value1…第二类型的字段信息con_field0:con_value0、con_field1:con_value1…[0113]步骤203:基于测试用例中入参字段和对应的字段值、以及基于确定出的字段和对应的字段值,确定出字段值相同的每组字段;每组字段包括入参字段和第二字段。[0114]这里,电子设备将测试用例中入参字段对应的字段值,与解析出的字段对应的字段值进行比较,从而确定出字段值相同的每组字段,每组字段包括入参字段和第二字段。[0115]例如,测试用例中包含的入参字段和对应的字段值包括:[0116]from_name:小王;[0117]from_card_no:xx123456xx11。[0118]解析sql语句得到的参数包括:[0119]tbl_1[0120]name:小王;[0121]car_no:xx123456xx11。[0122]确定出的字段值相同的每组字段包括:[0123]from_name‑>tbl_1:name;[0124]from_card_no‑>tbl_1:car_no。[0125]步骤204:基于确定出的每组字段,构建第一数据关系表。[0126]这里,基于确定出的每组字段中的入参字段和第二字段、每组字段中第二字段所属的业务数据表的标识和业务数据表对应的业务系统的标识,构建第一数据关系表。[0127]实际应用时,可以基于测试用例的相关信息和构建出的第一数据关系表,输出如图6所示的第一数据关系图。图6中,姓名、电话号码和参数字段均为测试用例的用例参数;系统a和系统b均为第一数据关系表中的业务系统;图6中的箭头连接的内容存在对应关系。[0128]步骤102:基于所述第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段。[0129]这里,电子设备比较第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段。其中,当同一字段对应的第一字段值和第二字段值相同时,表征该字段的字段值未发生变更;当同一个字段对应的第一字段值和第二字段值不同时,表征该字段的字段值发生变更。[0130]步骤103:输出关于所述第一业务的第一信息,所述第一信息表征入参字段在所述第一数据关系表中对应的所有第一字段、每个第一字段对应的第一字段值和第二字段值。[0131]这里,电子设备基于字段值发生变更的第一字段、第一字段对应的入参字段、第一字段对应的第一字段值和第二字段值、以及第一字段所属的业务数据表,输出第一业务对应的第一信息。也就是说,第一信息中包括入参字段对应的第一字段的数据变化关系。[0132]在实际应用时,可以输出如图7所示的第二数据关系图,图7中的字段值发生变更的第一字段包括系统a中表1中的字段1和字段2、系统a中表2中的字段2、系统b中表1中的字段2、以及系统b中表2中的字段1。其中,[0133]系统a中表1中的字段1的第一字段值为x、对应的第二字段值为y,即,该字段的字段值从x变更为y。[0134]系统a中表1中的字段2的第一字段值为c,对应的第二字段值为g。[0135]系统a中表2中的字段2的第一字段值为e,对应的第二字段值为f。[0136]系统b中表1中的字段2的第一字段值为a,对应的第二字段值为b。[0137]系统b中表2中的字段1的第一字段值为h,对应的第二字段值为j。[0138]考虑到业务系统按照第一业务对应的业务逻辑处理第一业务时,对应的业务数据表中相关字段的字段值会发生变化,也就是说,在业务数据表中的相关字段的数据变化关系,可以反映出第一业务对应的业务逻辑。相关人员可以基于电子设备输出的第一信息推导出第一业务对应的业务逻辑。[0139]例如,以转账为例,在转账前,账户表(业务数据表)中小王和小李账户信息如下:[0140][0141][0142]小王给小李转账100元之后,账户表数据如下:[0143]姓名账号金额小王xx01x‑100小李xx02y+100[0144]在转账的场景下,转账相关的第一字段为金额,小王对应的第一字段的第一字段值为x,第二字段值为x‑100;小李对应的第一字段的第一字段值为y,第二字段值为y+100,电子设备输出的第一信息中包括小王对应的第一字段的第一字段值和第二字段值,以及小李对应的第一字段的第一字段值和第二字段值;相关人员分析第一信息即可得到转账对应的业务逻辑。[0145]需要说明的是,相关人员可以通过第一业务的第一信息查询第一业务对应的第一数据关系表,通过第一数据关系表获知第一业务相关的字段,通过第一数据关系表中第一字段对应的第一字段值和第二字段值,确定出第一字段对应的数据变化关系,从而得到第一字段的数据处理逻辑。[0146]在本发明实施例中,从第一业务相关的业务系统对应的业务数据表中,获取第一业务对应的第一数据关系表中每个字段对应的第一字段值和第二字段值;基于第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段;输出关于第一业务的第一信息,第一信息表征入参字段在第一数据关系表中对应的所有第一字段、以及每个第一字段对应的第一字段值和第二字段值。其中,第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段;第一字段值和第二字段值分别为业务系统响应第一业务的第一处理请求前后的字段值。这样,电子设备输出的第一信息可以反映出第一业务相关的业务数据表、在业务数据表中的相关字段和字段的数据变化关系,不需要通过人工分析业务源码,来确定业务所涉及的业务数据表的相关信息,可以提高获取第一业务相关的数据的效率和准确度。[0147]为了方便相关人员获知第一业务对应的业务逻辑,在一些实施例中,在步骤103之后,还包括:基于所述第一处理请求中的输入参数和所述第一信息,输出所述第一业务对应的业务逻辑。[0148]这里,电子设备基于与同一个输入参数相关的所有第一字段中每个第一字段对应的第一字段值和第二字段值,逐一对比每个第一字段对应的第一字段值和对应的第二字段值,得到每个第一字段的数据变化关系;由每个第一字段的数据变化关系,确定出对应的第一字段的数据处理逻辑;基于所有第一字段的数据处理逻辑和第一字段之间的依赖关系,确定出对应的输入参数对应的处理逻辑;将第一业务对应的每个输入参数对应的处理逻辑进行汇总,得到第一业务对应的业务逻辑。[0149]在本方案中,电子设备可以输出第一业务对应的业务逻辑,以便相关人员查看第一业务对应的业务逻辑,由于相关人员不需要人工分析第一业务相关的数据来得到第一业务对应的业务逻辑,节省了人工分析相关数据所消耗的时间,可以提高相关人员获取业务逻辑的效率。[0150]图8为本发明应用实施例提供的数据处理方法的实现流程示意图,如图8示出的,数据处理方法包括:[0151]步骤801:从第一业务相关的业务系统中,获取业务系统在执行第一业务对应的测试用例的过程中所执行的sql语句。[0152]其中,步骤801的时序过程请参照步骤201的相关描述,此处不赘述。[0153]步骤802:通过解析获取到的所有sql语句,确定出每个业务系统对应的每个业务数据表中与所述测试用例相关的第二字段和对应的字段值。[0154]其中,步骤802的时序过程请参照步骤202的相关描述,此处不赘述。[0155]步骤803:基于测试用例中入参字段和对应的字段值、以及基于确定出的字段和对应的字段值,确定出字段值相同的每组字段;每组字段包括入参字段和第二字段。[0156]其中,步骤803的时序过程请参照步骤203的相关描述,此处不赘述。[0157]步骤804:基于确定出的每组字段,构建第一数据关系表;其中,所述第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段。[0158]其中,步骤804的时序过程请参照步骤204的相关描述,此处不赘述。[0159]步骤805:从第一业务相关的业务系统对应的业务数据表中,获取所述第一业务对应的第一数据关系表中每个字段对应的第一字段值和第二字段值;其中,第一字段值和第二字段值分别为业务系统响应所述第一业务的第一处理请求前后的字段值。[0160]其中,步骤805的时序过程请参照步骤101的相关描述,此处不赘述。实际应用时,电子设备按照如图9所示的流程图获取第一字段值和第二字段值。[0161]步骤806:基于所述第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段。[0162]其中,步骤806的时序过程请参照步骤102的相关描述,此处不赘述。[0163]步骤807:输出关于所述第一业务的第一信息,所述第一信息表征入参字段在所述第一数据关系表中对应的所有第一字段、每个第一字段对应的第一字段值和第二字段值。[0164]其中,步骤807的时序过程请参照步骤103的相关描述,此处不赘述。[0165]为实现本发明实施例的方法,本发明实施例还提供了一种电子设备,如图10所示,该电子设备包括:[0166]获取单元101,用于从第一业务相关的业务系统对应的业务数据表中,获取所述第一业务对应的第一数据关系表中每个字段对应的第一字段值和第二字段值;其中,所述第一数据关系表表征第一业务对应的入参字段在每个相关的业务系统对应的业务数据表中对应的字段;第一字段值和第二字段值分别为业务系统响应所述第一业务的第一处理请求前后的字段值;[0167]确定单元102,用于基于所述第一数据关系表中每个字段对应的第一字段值和第二字段值,确定出字段值发生变更的第一字段;[0168]输出单元103,用于输出关于所述第一业务的第一信息,所述第一信息表征入参字段在所述第一数据关系表中对应的所有第一字段、以及每个第一字段对应的第一字段值和第二字段值。[0169]在一些实施例中,输出单元103还用于:基于所述第一处理请求中的输入参数和所述第一信息,输出所述第一业务对应的业务逻辑。[0170]在一些实施例中,该电子设备还包括构建单元,用于:[0171]从第一业务相关的业务系统中,获取业务系统在执行第一业务对应的测试用例的过程中所执行的sql语句;[0172]通过解析获取到的所有sql语句,确定出每个业务系统对应的每个业务数据表中与所述测试用例相关的第二字段和对应的字段值;[0173]基于测试用例中入参字段和对应的字段值、以及基于确定出的字段和对应的字段值,确定出字段值相同的每组字段;每组字段包括入参字段和第二字段;[0174]基于确定出的每组字段,构建第一数据关系表。[0175]在一些实施例中,构建单元具体用于:[0176]按照空格对sql语句进行切割,得到第一数组;[0177]基于第一数组中的第一个字串以及设定的语句类型对应的设定字符串,确定出sql语句对应的语句类型;[0178]基于确定出的语句类型和对应的设定解析策略,从第一数组中提取出业务数据表的标识、对应语句类型对应的字段和字段值。[0179]在一些实施例中,构建单元具体用于:[0180]基于确定出的语句类型和对应的第一设定解析策略,从第一数组中提取出业务数据表的标识;[0181]基于确定出的语句类型和对应的第二设定解析策略,从第一数组中提取出业务数据表中包含的字段和对应的字段值。[0182]在一些实施例中,构建单元具体用于:通过以下任一种方式从第一数组中提取出业务数据表的标识:[0183]在sql语句为插入语句、更新语句或删除语句的情况下,将第一数组中设定索引值对应的字串,确定为业务数据表的标识;[0184]在sql语句为查询语句的情况下,将第一数组中处于第一设定字串之后的第一个字串,确定为业务数据表的标识。[0185]在一些实施例中,构建单元具体用于:[0186]在sql语句为插入语句的情况下,基于第一数组中采用第二设定字串连接的第一组字串和第二组字串,确定出多组字段和字段值;[0187]在sql语句为更新语句的情况下,基于第一数组中的等号和第三设定字串所处的位置,从第一数组中确定出至少两组字段和字段值;[0188]在sql语句为删除语句或查询语句的情况下,基于第一数组中的等号所处的位置,确定出表征执行条件的一组字段和字段值。[0189]实际应用时,获取单元101、确定单元102、输出单元103和构建单元可通过电子设备中的处理器,比如中央处理器(cpu,centralprocessingunit)、数字信号处理器(dsp,digitalsignalprocessor)、微控制单元(mcu,microcontrollerunit)或可编程门阵列(fpga,field-programmablegatearray)等实现。[0190]需要说明的是:上述实施例提供的电子设备在进行数据处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的电子设备与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。[0191]基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备。图11为本发明实施例提供的电子设备的硬件组成结构示意图,如图11所示,电子设备11包括:[0192]通信接口111,能够与其它设备比如网络设备等进行信息交互;[0193]处理器112,与所述通信接口111连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的数据处理方法。而所述计算机程序存储在存储器113上。[0194]当然,实际应用时,电子设备11中的各个组件通过总线系统114耦合在一起。可理解,总线系统114用于实现这些组件之间的连接通信。总线系统114除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统114。[0195]本发明实施例中的存储器113用于存储各种类型的数据以支持电子设备11的操作。这些数据的示例包括:用于在电子设备11上操作的任何计算机程序。[0196]可以理解,存储器113可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread‑onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread‑onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread‑onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd‑rom,compactdiscread‑onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器113旨在包括但不限于这些和任意其它适合类型的存储器。[0197]上述本发明实施例揭示的方法可以应用于处理器112中,或者由处理器112实现。处理器112可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器112中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器112可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器112可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器113,处理器112读取存储器113中的程序,结合其硬件完成前述方法的步骤。[0198]可选地,所述处理器112执行所述程序时实现本发明实施例的各个方法中由终端实现的相应流程,为了简洁,在此不再赘述。[0199]在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器113,上述计算机程序可由终端的处理器112执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flashmemory、磁表面存储器、光盘、或cd‑rom等存储器。[0200]在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。[0201]上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。[0202]另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。[0203]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read‑onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0204]需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。[0205]需要说明的是,本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多个中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。[0206]以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1