数据处理方法、装置、计算机设备及存储介质与流程

文档序号:31604539发布日期:2022-09-21 10:07阅读:45来源:国知局
数据处理方法、装置、计算机设备及存储介质与流程

1.本发明实施例涉及大数据技术领域,尤其涉及一种数据处理方法、装置、计算机设备及计算机可读存储介质。


背景技术:

2.目前,在开发javaweb应用程序的过程中经常需要使用到sql语句来访问数据库,不同处理逻辑对应的sql语句可能由不同的开发人员开发完成的。其中,对于界面数据的分析需要开发人员从不同的开发人员处获取并分析sql代码,根据经验逐步从sql代码中分析出界面的数据来源表。然而,采用上述方法对界面数据进行分析,从多处获取代码并依赖人力分析,导致项目的开发效率低以及代码维护效率低、成本高


技术实现要素:

3.有鉴于此,本发明的目的是提供了一种数据处理方法、装置、计算机设备及计算机可读存储介质,用于解决依赖人力从不同的开发人员获取相应的sql语句并依赖人力进行语句分析以获取界面数据导致项目开发效率低的问题。
4.本发明实施例的一个方面提供了一种数据处理方法,应用于服务器,所述服务器包括前端和后端,所述前端用于展示页面,所述方法包括:
5.通过所述后端根据所述页面的层级目录对不同业务场景对应的编译语句进行分类,以将多个编译语句归类至对应的层级下;
6.根据所述多个编译语句的层级,建立页面与每个编译语句之间的第一映射关系;
7.解析所述多个编译语句,并得到与每个编译语句对应的数据来源表;
8.基于多个数据来源表,建立所述页面与每个数据来源表之间的第二映射关系,并将所述每个编译语句和每个数据来源表基于对应的第一映射关系和第二映射关系持久存放到所述后端的数据库中。
9.可选地,所述解析所述多个编译语句,并得到与每个编译语句对应的数据来源表的步骤,还包括:
10.将所述多个编译语句输入到预设编译语句解析引擎中;
11.判断所述每个编译语句是否符合预设编译语句解析引擎中的预设编译语句语法逻辑;
12.在编译语句符合所述预设编译语句语法逻辑的情形下,根据所述多个编译语句的执行顺序遍历在编译阶段生成的ast树,并输出对应的数据来源表以及数据筛选策略。
13.可选地,在所述判断所述每个编译语句是否符合预设编译语句解析引擎中的预设编译语句语法逻辑之后,还包括:
14.在编译语句符合所述预设编译语句语法逻辑的情形下,根据预设的分解规则将所述每个编译语句分解为多个子句;
15.根据每个子句对应的类型,对所述每个子句进行语义分析,以得到每个子句的执
行顺序。
16.可选地,所述基于多个数据来源表,建立所述页面与每个数据来源表之间的第二映射关系,还包括:
17.递归遍历所述ast树,获取每次递归得到的sql元素的信息,所述sql元素的信息至少包括表名和字段名;
18.根据获取到的sql元素的信息建立并保存第一集合;其中,所述第一集合中的键值包括递归得到的sql元素对应的字段名,以及递归得到的表名;
19.根据所述第一集合生成所述页面与每个数据来源表的第二映射关系。
20.可选地,所述方法,还包括:
21.获取与目标业务数据对应的目标版本号;
22.根据所述目标版本号获取对应的目标数据来源表;
23.根据所述目标业务数据,从所述目标数据来源表中获取对应的多个目标编译语句;
24.执行所述多个目标编译语句,以在至少一个页面中展示与所述多个目标编译语句对应的目标业务数据。
25.本发明实施例的一个方面又提供了一种数据处理装置,应用于服务器,所述服务器包括前端和后端,所述前端用于展示页面,所述装置包括:
26.分类模块,用于通过所述后端根据所述页面的层级目录对不同业务场景对应的编译语句进行分类,以将多个编译语句归类至对应的层级下;
27.第一映射建立模块,用于根据所述多个编译语句的层级,建立页面与每个编译语句之间的第一映射关系;
28.解析模块,用于解析所述多个编译语句,并得到与每个编译语句对应的数据来源表;
29.第二映射建立模块,用于基于多个数据来源表,建立所述页面与每个数据来源表之间的第二映射关系,并将所述每个编译语句和每个数据来源表基于对应的第一映射关系和第二映射关系持久存放到所述后端的数据库中。
30.可选地,所述解析模块,还用于:
31.将所述多个编译语句输入到预设编译语句解析引擎中;
32.判断所述每个编译语句是否符合预设编译语句解析引擎中的预设编译语句语法逻辑;
33.在编译语句符合所述预设编译语句语法逻辑的情形下,根据所述多个编译语句的执行顺序遍历在编译阶段生成的ast树,并输出对应的数据来源表以及数据筛选策略。
34.本发明实施例的一个方面又提供了一种数据处理方法,应用于服务器,所述服务器包括前端和后端,所述前端用于展示页面,所述方法包括:
35.通过所述后端接收项目需求,其中,所述项目需求包括应用程序开发需求;
36.根据所述项目需求,获取应用程序的目标页面模块;
37.根据所述目标页面模块与sql语句之间的第一映射关系以及所述目标页面模块与数据来源表之间的第二映射关系,从预设的数据库中获取与所述目标页面模块对应的sql语句。
38.本发明实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述数据处理方法的步骤。
39.本发明实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的数据处理方法的步骤。
40.本发明实施例提供的数据处理方法、装置、计算机设备及计算机可读存储介质,通过所述后端根据所述页面的层级目录对不同业务场景对应的编译语句进行分类,以将多个编译语句归类至对应的层级下;根据所述多个编译语句的层级,建立页面与每个编译语句之间的第一映射关系;解析所述多个编译语句,并得到与每个编译语句对应的数据来源表;基于多个数据来源表,建立所述页面与每个数据来源表之间的第二映射关系,并将所述每个编译语句和每个数据来源表基于对应的第一映射关系和第二映射关系持久存放到所述后端的数据库中;本发明实施例通过将sql语句和页面层级关联,将sql语句和数据来源表关联,规范开发过程中sql存储方式和路径,便于后续项目的开发,有效提高项目的整体开发效率。
41.以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
42.图1示意性示出了本发明实现数据处理方法的示例流程图;
43.图2示意性示出了根据本发明实现数据处理方法的步骤流程图;
44.图3示意性示出了根据本发明实现数据处理方法的步骤流程图;
45.图4示意性示出了根据本发明实现数据处理方法的步骤流程图;
46.图5示意性示出了根据本发明实现数据处理方法的步骤流程图;
47.图6示意性示出了根据本发明实施例二的数据处理装置的框图;
48.图7示意性示出了根据本发明实施例三的实现数据处理方法的步骤流程图;
49.图8示意性示出了根据本发明实施例四之适于实现数据处理方法的计算机设备的硬件结构示意图。
具体实施方式
50.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
52.在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
53.实施例一
54.请参阅图1,示出了本发明实施例之数据处理方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。其中,所述数据处理方法应用于服务器,所述服务器包括前端和后端,所述前端用于展示页面,下面以服务器为执行主体进行示例性描述,具体如下:
55.如图1所示,所述数据处理方法可以包括步骤s100~s106,其中:
56.步骤s100,通过所述后端根据所述页面的层级目录对不同业务场景对应的编译语句进行分类,以将多个编译语句归类至对应的层级下。
57.在示例性的实施例中,不同业务系统对应的业务场景以及业务处理流程各不相同,每个业务系统具有多个不同业务场景,每个业务场景对应多个业务处理流程;不同的业务场景以及不同的业务处理流程需要使用的sql语句也各不相同。
58.在本实施例中,所述前端用于展示javaweb应用程序的可视化页面。其中,可视化页面可支持多级菜单,如:一级目录/二级目录/

/页面。示例性的,若java应用程序为信用卡应用程序,对应信用卡还款场景,信用卡还款流程包括:查询账单信息,查询流水信息,选择还款类型,选择还款优惠,输入还款金额,选择还款方式,基于还款金额进行支付,支付完成后实现信用卡还款;每一个步骤流程的实现需要对应执行至少一个sql语句。
59.步骤s102,根据所述多个编译语句的层级,建立页面与每个编译语句之间的第一映射关系。
60.在示例性的实施例中,第一映射关系的建立能够将多个sql语句与对应的业务场景的每个步骤流程进行关联,便于将多个sql语句和业务场景进行合理分类。
61.步骤s104,解析所述多个编译语句,并得到与每个编译语句对应的数据来源表。
62.在示例性的实施例中,所述方法可以使用sql解析引擎对所述多个sql语句进行解析。
63.请参阅图2,,所述解析所述多个编译语句,并得到与每个编译语句对应的数据来源表的步骤s104还可以进一步包括步骤s200~s204,其中:步骤s200,将所述多个编译语句输入到预设编译语句解析引擎中;步骤s202,判断所述每个编译语句是否符合预设编译语句解析引擎中的预设编译语句语法逻辑;以及步骤s204,在编译语句符合所述预设编译语句语法逻辑的情形下,根据所述多个编译语句的执行顺序遍历在编译阶段生成的ast树,并输出对应的数据来源表以及数据筛选策略。
64.在本实施例中,本步骤中的sql语句的解析可以理解为是sql语句的语义分析。
65.请参阅图3,在所述判断所述每个编译语句是否符合预设编译语句解析引擎中的预设编译语句语法逻辑之后,所述数据处理方法还包括以下操作:步骤s300,在编译语句符合所述预设编译语句语法逻辑的情形下,根据预设的分解规则将所述每个编译语句分解为多个子句;以及步骤s302,根据每个子句对应的类型,对所述每个子句进行语义分析,以得到每个子句的执行顺序。
66.举例而言,sql语句可以根据语句类型分解成以下7大块:
67.(1)from《xxx》
68.(2)where《xxx》
69.(3)group by《xxx》
70.(4)having《xxx》
71.(5)select
72.(6)distinct《xxx》
73.(7)order by《xxx》。
74.在本数据处理方案中,需要特别注意,from语句类型和where语句类型,对应相应的数据筛选策略。例如,from后面携带的表标识了这条sql语句要查询的数据源和一些子句,如笛卡尔积,on过滤以及添加外部列(为可选项,若使用了外连接)。where可以实现根据业务需求对数据源进行过滤。
75.步骤s106,基于多个数据来源表,建立所述页面与每个数据来源表之间的第二映射关系,并将所述每个编译语句和每个数据来源表基于对应的第一映射关系和第二映射关系持久存放到所述后端的数据库中。
76.在示例性的实施例中,将数据来源表与页面的处理逻辑相关联,并持久存放在后端的数据库中,有助于规范开发人员的sql语句逻辑的存放,便于后续sql语句的随存随取。
77.请参阅图4,所述基于多个数据来源表,建立所述页面与每个数据来源表之间的第二映射关系的步骤还可以通过以下操作得到,其中包括:步骤s400,递归遍历所述ast树,获取每次递归得到的sql元素的信息,所述sql元素的信息至少包括表名和字段名;步骤s402,根据获取到的sql元素的信息建立并保存第一集合;其中,所述第一集合中的键值包括递归得到的sql元素对应的字段名,以及递归得到的表名;以及步骤s404,根据所述第一集合生成所述页面与每个数据来源表的第二映射关系。
78.所述方法还包括:对业务数据对应的sql语句匹配版本编号,每一业务数据的处理逻辑对应唯一一个版本编号;在后续每次的版本迭代过程中,通过提取不同版本编号对应的sql语句进行解析,可以快速定位业务数据对应的处理逻辑的变动和差异。请参阅图5,具体包括:步骤s500,获取与目标业务数据对应的目标版本号;步骤s502,根据所述目标版本号获取对应的目标数据来源表;步骤s504,根据所述目标业务数据,从所述目标数据来源表中获取对应的多个目标编译语句;以及步骤s506,执行所述多个目标编译语句,以在至少一个页面中展示与所述多个目标编译语句对应的目标业务数据。
79.在本发明实施例中,通过将业务数据对应的sql语句和页面层级进行关联,将sql语句与数据来源表进行关联,能够规范sql语句的的保存方法,可以实现提取出项目中的所有sql语句并通过sql与页面之间的映射关系能实时的解析这些sql语句的语义,并在前端的可视化页面中进行显示;能够帮助改善整个项目组/产品组的开发质量,有效提高开发工作以及代码维护的效率。
80.相比于以往纯靠开发人员靠经验阅读代码的模式,在本发明实施例中,在运营人员的日常数据问题排查中,通过从数据来源表中调取对应的sql语句能够有效提高开发人员的工作效率,即使在人员变动的情形下,仍然能够保证数据问题的排查不受人员、经验的影响;解析结果的不同版本的对比也有助于运营人员在数据问题处理的过程中更加全面的掌控业务的需求。
81.实施例二
82.请继续参阅图6,示意性示出了本发明数据处理装置的框图。在本实施例中,数据处理装置可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据处理方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据处理装置在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能。该数据处理装置用于服务器中,所述服务器包括前端和后端,所述前端用于展示页面,。
83.如图6所示,该数据处理装置可以包括分类模块600、第一映射建立模块602、解析模块604以及第二映射建立模块606,其中:
84.分类模块600,用于通过所述后端根据所述页面的层级目录对不同业务场景对应的编译语句进行分类,以将多个编译语句归类至对应的层级下;
85.第一映射建立模块602,用于根据所述多个编译语句的层级,建立页面与每个编译语句之间的第一映射关系;
86.解析模块604,用于解析所述多个编译语句,并得到与每个编译语句对应的数据来源表;
87.第二映射建立模块606,用于基于多个数据来源表,建立所述页面与每个数据来源表之间的第二映射关系,并将所述每个编译语句和每个数据来源表基于对应的第一映射关系和第二映射关系持久存放到所述后端的数据库中。
88.在示例性的实施例中,所述解析模块604,还用于:将所述多个编译语句输入到预设编译语句解析引擎中;判断所述每个编译语句是否符合预设编译语句解析引擎中的预设编译语句语法逻辑;以及在编译语句符合所述预设编译语句语法逻辑的情形下,根据所述多个编译语句的执行顺序遍历在编译阶段生成的ast树,并输出对应的数据来源表以及数据筛选策略。
89.在示例性的实施例中,所述数据处理装置还包括语义解析模块(未标识),其中,所述语义解析模块,用于:在编译语句符合所述预设编译语句语法逻辑的情形下,根据预设的分解规则将所述每个编译语句分解为多个子句;以及根据每个子句对应的类型,对所述每个子句进行语义分析,以得到每个子句的执行顺序。
90.在示例性的实施例中,所述第二映射建立模块606,还用于:递归遍历所述ast树,获取每次递归得到的sql元素的信息,所述sql元素的信息至少包括表名和字段名;根据获取到的sql元素的信息建立并保存第一集合;其中,所述第一集合中的键值包括递归得到的sql元素对应的字段名,以及递归得到的表名;以及根据所述第一集合生成所述页面与每个数据来源表的第二映射关系。
91.在示例性的实施例中,所述数据处理装置还包括迭代模块(未标识),其中,所述迭代模块,用于:获取与目标业务数据对应的目标版本号;根据所述目标版本号获取对应的目标数据来源表;根据所述目标业务数据,从所述目标数据来源表中获取对应的多个目标编译语句;以及执行所述多个目标编译语句,以在至少一个页面中展示与所述多个目标编译语句对应的目标业务数据。
92.实施例三
93.请参阅图7,示出了本发明实施例之数据处理方法的步骤流程图。可以理解,本方
法实施例中的流程图不用于对执行步骤的顺序进行限定。其中,所述数据处理方法应用于服务器,所述服务器包括前端和后端,所述前端用于展示页面,下面以服务器为执行主体进行示例性描述,具体如下:
94.如图7所示,所述数据处理方法可以包括步骤s700~s706,其中:
95.步骤s700,通过所述后端接收项目需求,其中,所述项目需求包括应用程序开发需求;
96.步骤s702,根据所述项目需求,获取应用程序的目标页面模块;以及
97.步骤s704,根据所述目标页面模块与sql语句之间的第一映射关系以及所述目标页面模块与数据来源表之间的第二映射关系,从预设的数据库中获取与所述目标页面模块对应的sql语句。
98.在本发明实施例中,通过从数据来源表快速提取sql语句,有助于项目的开发工作效率的提升以及后续代码维护效率的提升。
99.实施例四
100.参阅图8,是本发明实施例四之适于实现数据处理方法的计算机设备10000的硬件架构示意图。本实施例中,所述计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备10000可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图8所示,所述计算机设备10000至少包括,但不限于,可通过系统总线相互通信连接存储器10010、处理器10020、网络接口10030。其中:
101.本实施例中,存储器10010至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储单元,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储单元也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如上述实施例的数据处理装置的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
102.处理器10020在一些实施例中可以是中央处理器(central processing unit,简称为cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据,例如运行数据处理装置,以实现上述实施例的数据处理方法。
103.所述网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在所述计算机设备10000与其他电子装置之间建立通信连接。例如,所述网络接口10030用于通过网络将所述计算机设备10000与外部终端相连,在所述计算机设备10000与
外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,简称为gsm)、宽带码分多址(wideband code division multiple access,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。
104.需要指出的是,图8仅示出了具有部件10010-10030的计算机设备10000,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
105.在本实施例中,存储于存储器10010中的所述数据处理装置还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器10010中,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本发明。
106.例如,图6示出了所述实现数据处理装置实施例二的程序模块示意图,该实施例中,所述基于数据处理装置可以被划分为分类模块600、第一映射建立模块602、解析模块604以及第二映射建立模块606。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述数据处理装置在所述计算机设备10000中的执行过程。所述程序模块600-606的具体功能在实施例二中已有详细描述,在此不再赘述。
107.实施例五
108.本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被至少一个处理器执行时实现实施例中的数据处理方法的步骤。
109.在本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中卡顿检测方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
110.显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
111.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
112.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1