CN117950711A - 数据库程序的数据处理方法、装置和服务器 - Google Patents

数据库程序的数据处理方法、装置和服务器 Download PDF

Info

Publication number
CN117950711A
CN117950711A CN202410176595.XA CN202410176595A CN117950711A CN 117950711 A CN117950711 A CN 117950711A CN 202410176595 A CN202410176595 A CN 202410176595A CN 117950711 A CN117950711 A CN 117950711A
Authority
CN
China
Prior art keywords
program
code
target
diagram
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410176595.XA
Other languages
English (en)
Inventor
曹雯葭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202410176595.XA priority Critical patent/CN117950711A/zh
Publication of CN117950711A publication Critical patent/CN117950711A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

本说明书提供了数据库程序的数据处理方法、装置和服务器,可用于金融领域。在接收到关于目标程序的目标修改请求后,可以查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;向用户展示出目标程序图,并接收用户针对目标程序图的程序图修改数据;再根据程序图修改数据,自动修改相对应的目标程序代码,得到满足用户要求的修改后的目标程序代码;并在预设的程序数据库中同时保存相对应的修改后的目标程序代码和修改后的目标程序图。通过在预设的程序数据库中同时保存并关联相对应的程序代码和程序图,可以支持用户基于程序图的维度修高效、便捷地改对应的程序代码,从而能够有效地降低了用户的操作难度,简化了用户侧的操作。

Description

数据库程序的数据处理方法、装置和服务器
技术领域
本说明书属于大数据技术领域,尤其涉及数据库程序的数据处理方法、装置和服务器。
背景技术
在金融业务场景中,随着业务的发展、技术的进步,大型金融交易机构的技术人员往往需要维护、更新包含有海量程序代码的数据仓库。
但是,基于现有方法大多需要依赖技术人员基于代码的维度人工逐一编写、修改相关程序代码中的每一段代码字段。上述方法具体实施时,存在技术人员操作过程繁琐、复杂,操作难度高,整体的数据处理效率低等技术问题。
针对上述技术问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了一种数据库程序的数据处理方法、装置和服务器,能够有效地降低了用户的操作难度,简化了用户侧的操作,提高了整体的数据处理效率。
本说明书提供了一种数据库程序的数据处理方法,包括:
接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识;
响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;
展示目标程序图;并接收针对目标程序图的程序图修改数据;
根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
在一个实施例中,展示目标程序图,包括:
展示目标程序图的程序框架子图和主体程序子图;其中,所述主体程序子图包括:处理逻辑框图和/或关键字段框图;
其中,所述程序框架子图与目标程序代码所使用的代码框架模板关联;所述主体程序子图与目标程序代码的主体程序代码关联;所述处理逻辑框图与目标程序代码中的逻辑代码片段关联;所述关键字段框图与目标程序代码中的关键代码字段关联。
在一个实施例中,程序图修改数据包括:程序框架子图修改数据和/或主体程序子图修改数据;
相应的,根据所述程序图修改数据,修改目标程序代码,包括:
根据程序框架子图修改数据,确定出目标算法框架;将目标程序代码当前使用的代码框架模板切换为与目标算法框架对应的代码框架模板;
和/或,
根据主体程序子图修改数据,确定出待修改的目标逻辑代码片段和/或待修改的目标关键代码字段;并对应修改所述目标逻辑代码片段和/或目标关键代码字段。
在一个实施例中,所述关键代码字段包括以下至少之一:源表名称字段、取数字段、筛选条件字段、操作指令字段。
在一个实施例中,在根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码之后,所述方法还包括:
检测修改后的目标程序代码和修改后的目标程序图是否符合预设的规范要求;
在确定修改后的目标程序代码和修改后的目标程序图符合预设的规范要求的情况下,编译修改后的目标程序代码,得到对应的编译结果;
根据编译结果,在确定修改后的目标程序代码编译通过的情况下,确定修改后的目标程序代码和修改后的目标程序图满足预设的程序数据库的保存条件。
在一个实施例中,所述方法还包括:
在确定修改后的目标程序代码和修改后的目标程序图不符合预设的规范要求的情况下,生成并展示相应的规范性提示信息;
在确定修改后的目标程序代码编译未通过的情况下,生成并展示关于修改后的目标程序代码的报错提示信息;其中,所述报错提示信息至少携带有错误位置和错误类型。
在一个实施例中,在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图,包括:
在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图,以及相应的修改时间;并将修改后的目标程序代码和修改后的目标程序图关联。
在一个实施例中,所述方法还包括:
接收关于第一程序的第一创建请求;
响应第一创建请求,展示空白程序图界面;
通过空白程序图界面,接收第一程序图设置数据;
根据第一程序图设置数据,创建第一程序图;
根据第一程序图,生成相对应的第一程序代码;并在预设的程序数据库中保存相对应的第一程序代码和第一程序图。
在一个实施例中,所述方法还包括:
接收第二创建请求;其中,所述第二创建请求用于指示创建与第二程序代码关联的第二程序图;
响应第二创建请求,查询预设的程序数据库得到第二程序代码;
根据第二程序代码,确定第二程序代码当前使用的第二代码框架模板,以及第二程序代码的第二主体程序代码;
根据第二代码框架模板,确定相对应的第二程序框架子图;根据第二主体程序代码,确定相对应的第二主体程序子图;
根据第二程序框架子图和第二主体程序子图,构建得到相对应的第二程序图;
在预设的程序数据库中存入第二程序图;并将第二程序图与第二程序代码关联。
在一个实施例中,所述方法还包括:
接收第三创建请求;其中,所述第三创建请求用于指示创建与第三程序图关联的第三程序代码;
响应第三创建请求,查询预设的程序数据库得到第三程序图;
根据第三程序图,确定出第三程序框架子图和第三主体程序子图;
根据第三程序框架子图,确定相对应的第三代码框架模板;根据第三主体程序子图,确定相对应的第三主体程序代码;
根据第三代码框架模板和第三主体程序代码,生成得到相对应的第三程序代码;
在预设的程序数据库中存入第三程序代码;并将第三程序代码与第三程序图关联。
在一个实施例中,所述方法还包括:
接收关于第四程序代码和第四程序图的测试请求;
响应所述测试请求,查询预设的程序数据库得到相对应的第四程序代码和第四程序图;
检测所述第四程序代码和第四程序图是否相匹配;
在确定第四程序代码和第四程序图相匹配的情况下,确定出相匹配的测试规则;
根据测试规则,对第四程序代码进行相应测试,得到对应的测试结果。
本说明书还提供了一种数据库程序的数据处理装置,包括:
接收模块,用于接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识;
确定模块,用于响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;
展示模块,用于展示目标程序图;并接收针对目标程序图的程序图修改数据;
处理模块,用于根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
本说明书还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述数据库程序的数据处理方法的相关步骤。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述数据库程序的数据处理方法的相关步骤。
本说明书还提供了一种计算机程序产品,包含有计算机程序,所述计算机程序被处理器执行时实现所述数据库程序的数据处理方法的相关步骤。
基于本说明书提供的数据库程序的数据处理方法、装置和服务器,预先可以在预设的程序数据库中保存并关联相对应的程序代码和程序图。具体实施时,在接收到关于目标程序的目标修改请求后,可以先查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;再向用户展示出目标程序图,以支持用户基于程序图的维度进行修改操作;相应的,可以接收用户针对目标程序图的程序图修改数据;并基于关联关系,根据程序图修改数据,自动修改相对应的目标程序代码,得到满足用户要求的修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。通过在预设的程序数据库中同时保存并关联相对应的程序代码和程序图,支持用户基于程序图的维度高效、便捷地修改相对应的程序代码,从而有效地降低了用户的操作难度,简化了用户侧的操作,提高了整体的数据处理效率,以便能够较为高效、精准地及时维护更新数据仓库中的程序代码。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书的一个实施例提供的数据库程序的数据处理方法的流程示意图;
图2是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图5是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图6是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图7是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图8是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图9是本说明书的一个实施例提供的服务器的结构组成示意图;
图10是本说明书的一个实施例提供的数据库程序的数据处理装置的结构组成示意图;
图11是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图12是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图13是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图;
图14是在一个场景示例中,应用本说明书实施例提供的数据库程序的数据处理方法的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
参阅图1所示,本说明书实施例提供了一种数据库程序的数据处理方法。其中,该方法具体应用于服务器一侧。具体实施时,该方法可以包括以下内容:
S101:接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识;
S102:响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;
S103:展示目标程序图;并接收针对目标程序图的程序图修改数据;
S104:根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
其中,预设的程序数据库至少可以存储有相对应的程序代码和程序图;上述相对应的程序代码和程序图相互关联。具体的,当程序代码发生修改时,系统会自动对与该程序代码相对应的程序图进行相应修改;当程序图发生修改时,系统会自动对于该程序图相对应的程序代码进行相应修改。具体的,上述预设的程序数据库可以是业务系统的数据仓库。
进一步,上述预设的程序数据库还可以存储有不具有相对应的程序图的存量程序代码,和/或,不具有相对应的程序代码的存量程序图。
需要说明的是,上述程序代码和程序具体可以是按照预设的处理规则和预设的规范要求生成得到,并存入预设的程序数据库内的。
上述程序代码具体可以包括涉及数据库的,支持具体业务功能的程序代码。例如,生成程序代码可以是支持从数据库中的指定源表导出并展示所选中的数据的数据值的程序代码;也可以是支持从数据库中的不同指定源表分别导出同一个数据对象的数据值,并进行整合统计,输出最终的统计表的程序代码;还可以支持对数据库中的指定源表进行诸如平均值、平均方差等指标统计的程序代码等。
当然,需要说明的是,上述所列举的程序代码只是一种示意性说明。具体实施时,根据具体的应用场景和功能需求,上述程序代码还可以包括其他类型的程序代码。对此,本说明书不作限定。
基于上述实施例,当用户(例如,开发人员等)需要修改目标程序代码时,不需要再基于代码维度逐个代码逐个字段地进行繁琐、复杂的修改操作,而是可以通过发起关于目标程序的目标修改请求,在所展示出的与待修改的目标程序代码相对应的目标程序图上,基于程序图的维度,较为直观、便捷地对目标程序图进行修改;系统服务器可以接收并根据上述程序图修改数据,基于目标程序图与目标程序代码之间的关联关系,自动对目标程序代码进行对应修改,得到与修改后的目标程序图相对应的修改后的目标程序代码。从而能够有效地降低了用户的操作难度,简化了用户侧的操作,提高了修改程序代码时整体的数据处理效率,有助于高效地实现对大量程序代码的批量修改。
在一些实施例中,当用户(例如,技术人员、开发人员、运维人员等)需要修改某个程序(可以记为目标程序)的程序代码时,可以通过所属的用户终端向服务器发起关于该目标程序的目标修改请求;其中,上述目标修改请求至少携带有目标程序的程序标识。
其中,上述程序标识具体可以理解为一种能够在预设的程序数据库中搜索到相应的目标程序代码和/或目标程序图的标识信息。具体的,上述程序标识可以是目标程序的程序名或程序编号,与目标程序的版本号的组合。
具体的,在预设的程序数据库中还可以存储有各个程序代码、程序图与所属程序的程序标识之间的匹配关系。
相应的,具体实施时,服务器可以响应该目标修改请求,以目标程序的程序标识作为索引,查询预设的程序数据库,分别找出与该目标程序的程序标识相匹配的程序代码和程序图,从而确定出存在关联关系的相对应的目标程序代码和目标程序图。
其中,所述服务器具体可以包括一种应用于业务系统一侧,能够实现数据传输、数据处理等功能的后台服务器。具体的,所述服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定服务器的数量。所述服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
在本实施例中,所述用户终端具体可以包括一种应用于用户一侧,能够实现数据采集、数据传输等功能的前端。具体的,所述用户终端例如可以为台式电脑、平板电脑、笔记本电脑等电子设备。或者,所述用户终端也可以为能够运行于上述电子设备中的软件应用。例如,可以是在台式电脑上运行的某用户端应用等。
在一些实施例中,上述展示目标程序图,具体实施时,可以包括以下内容:
展示目标程序图的程序框架子图和主体程序子图;其中,所述主体程序子图包括:处理逻辑框图和/或关键字段框图;
其中,所述程序框架子图与目标程序代码所使用的代码框架模板关联;所述主体程序子图与目标程序代码的主体程序代码关联;所述处理逻辑框图与目标程序代码中的逻辑代码片段关联;所述关键字段框图与目标程序代码中的关键代码字段关联。
基于上述实施例,可以通过向用户展示与目标程序代码存在关联关系的相对应的目标程序图,以支持用户后续可以在所展示的目标程序图上,基于程序图的维度,直观、便捷地修改目标程序代码。
具体的,一个程序代码至少可以包括代码框架,以及基于该代码框架的主体程序代码两部分。
其中,上述代码框架与该程序所支持的具体业务功能的算法相对应。
具体的,为了支持不同的业务功能,可以选择相适配的算法类型。相应的,在具体编写程序代码时,需要使用与所选择的算法类型相对应的代码框架;再在该代码框架下编写具体的程序代码。
在本实施例中,所涉及到的算法类型可以包括以下表1中所列举的多种算法中任意一种。
表1
I算法 APPEND(追加)算法
F1算法 全删全加算法(上游必须每日存量下数)
F2算法 UPDATE+INSERT(UPSERT)算法
F3算法 标准历史拉链算法
F4算法 经济型拉链算法
F5算法 全数据拉链算法(上游每日必须下载存量数据)
F6算法 全主键拉链算法
F7算法 自拉链算法(采用上游表中日期字段进行拉链)
上述主体程序代码用于具体执行并实现该程序所支持的业务功能,可以参阅图2所示。
进一步,上述主体程序具体可以包括一个或多个逻辑代码片段(例如,group1代码片段、group2代码片段)。其中,每一个逻辑代码片段支持执行一个具体的处理逻辑,例如,取数逻辑、插入逻辑等。
再进一步,上述逻辑代码片段中除了包含有不需要用户另外自定义设置的常规默认的模板代码字段外,还可以包含有需要用户另外自定义设置的关键代码字段。
在一些实施例中,所述关键代码字段具体可以包括以下至少之一:源表名称字段、取数字段、筛选条件字段、操作指令字段等等。
其中,对应不同的算法和处理逻辑组合的逻辑代码片段的关键代码字段可以是不同的。
具体实施前,可以先从大量历史程序代码中搜集并整理对应不同算法和处理逻辑组合的多个代码片段组;其中,每一个代码片段组包含有对应同一个算法和处理逻辑组合的多个代码片段。再对每个代码片段组分别进行聚类处理,得到对应的聚类结果;根据聚类结果,可以确定出与各个算法和处理逻辑组合对应的存在共性的代码结构体,以及共性代码字段;进而可以将共性代码字段确定为与该算法和处理逻辑组合对应的模板代码字段。接着,可以组合使用与各个算法和动作组合对应的代码结构体,以及模板代码字段,确定出代码结构体中需要用户另外自定义设置的代码字段,作为与该算法和处理逻辑组合对应的关键代码字段。
基于上述实施例,可以根据所对应的算法和处理逻辑的组合,准确地确定出需要用户另外自定义设置的关键代码字段。
具体的,参阅图3所示,一个程序图至少可以包括程序框架子图,以及主体程序子图两部分。相应的,组合使用程序框架子图和主体程序子图可以从图形的角度较为完整地表征出相对应的程序代码。
进一步,上述程序框架子图具体可以包括框架算法选项框图。上述主体程序子图具体可以包括处理逻辑框图和关键字段框图。
其中,上述框架算法选项框图支持用户从多个备选算法中选出支持所需要的业务功能的目标算法。
具体的,当用户点击框架算法选项框图时,可以展示出多个备选算法供用户选择。除了展示备选算法外,进一步还可以展示业务功能需求描述框。相应的,用户可以在该业务功能需求描述框中输入所需要的目标业务功能。进而服务器可以根据目标业务功能自动确定出与该目标业务功能相对应的目标算法,展示给用户,以便用户确认。
上述处理逻辑框图支持用户选择或设置所需要的处理逻辑。上述关键字段框图支持用户自定义设置某个处理逻辑下的具体的关键代码字段。
此外,上述程序图还可以向用户展示出程序代码(或者程序图、所属程序等)的标识信息(例如,程序代码的名称Program1、程序的版本号v1.2等),以支持用户基于程序图的维度设置或修改相关的标识信息。
进一步,上述程序图还可以向用户展示出相应的流程信息,以引导用户逐步地设置或修改程序图,以完成对程序代码的设置或修改。
具体的,当用户根据所需要的业务功能,选择或设置好所需要的处理逻辑时,服务器可以根据该处理逻辑确定出对应的代码结构体;再根据代码结构体中的关键代码字段,确定并展示出基于该处理逻辑的关键字段框图供用户自定义设置。
具体的,相对应的程序代码和程序图存在关联关系。其中,上述程序框架子图与代码框架模板相关联。上述主体程序子图与主体程序代码相关联。
其中,上述代码框架模板具体可以是预先根据预设的处理规则和预设的规范要求,对原始的算法代码进行调整后得到模板代码。
进一步,上述处理逻辑框图与逻辑代码片段(即,基于该处理逻辑的符合预设的规范要求的代码结构体)相关联。上述关键字段框图与逻辑代码片段中的关键代码字段相关联。
具体实施时,基于预设的处理规则,上述相关联的两个数据对象(例如,相关联的程序框架子图和代码框架模板)中只要有一个数据对象发生改变,会自动地联动改变另一个数据对象。这样,用户只需要在程序图上进行基于程序图维度的图修改,就能自动实现对与该程序图相对应的程序代码进行基于程序代码维度的代码修改。同样的,用户只需要在程序代码上进行基于程序代码维度的代码修改,就能自动实现对于该程序代码相对应的程序图进行基于程序图维度的图修改。
需要补充的是,一个程序代码可以包括多个逻辑代码片段(例如,group1和group2),相对应的程序图也可以包括同样数量的处理逻辑框图。具体实施时,用户可以直接通过拖动、调整多个处理逻辑框图之前的先后顺序,就能便捷、高效地实现对该程序代码中相应逻辑代码片段的执行先后次序的调整。
在一些实施例中,上述程序图修改数据具体可以包括:程序框架子图修改数据和/或主体程序子图修改数据;
相应的,上述根据所述程序图修改数据,修改目标程序代码,具体可以实施,可以包括:
基于关联关系,根据程序框架子图修改数据,确定出目标算法框架;将目标程序代码当前使用的代码框架模板切换为与目标算法框架对应的代码框架模板;
和/或,
基于关联关系,根据主体程序子图修改数据,确定出待修改的目标逻辑代码片段和/或待修改的目标关键代码字段;并对应修改所述目标逻辑代码片段和/或目标关键代码字段。
基于上述实施例,用户可以在所展示的目标程序图上进行基于程序图维度的图修改,就能自动实现对于该目标程序图相对应的目标程序代码进行基于程序代码维度的代码修改,从而不需要耗费大量的时间和精力,逐段逐条地进行代码修改。
需要说明的是,大多数情况下,当程序框架子图发生修改后,相应的主体程序子图也需要修改。当主体程序子图发生修改后,相应的程序框架子图则不一定需要修改。
在一些实施例中,在用户完成对目标程序图的修改,得到修改后的目标程序图之后,服务器也相应地自动完成对目标程序代码的修改,得到修改后的目标程序代码。进而可以将向相对应的修改后的目标程序代码和修改后的目标程序图相互关联后,再存入预设的程序数据库中,以便于后续的调用。
具体的,可以在预设的程序数据库中奖修改后的目标程序代码中所使用的代码框架模板、主体程序代码分别与目标程序图中的程序框架子图、主体程序子图建立相应的关联关系。
在一些实施例中,参阅图4所示,在根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码之后,所述方法具体实施时,还可以包括以下内容:
S1:检测修改后的目标程序代码和修改后的目标程序图是否符合预设的规范要求;
S2:在确定修改后的目标程序代码和修改后的目标程序图符合预设的规范要求的情况下,编译修改后的目标程序代码,得到对应的编译结果;
S3:根据编译结果,在确定修改后的目标程序代码编译通过的情况下,确定修改后的目标程序代码和修改后的目标程序图满足预设的程序数据库的保存条件。
具体实施时,可以通过检测修改后的目标程序代码、修改后的目标程序图之间的数据对应关系,以及相关数据的格式是否与规范模板相匹配,判断修改后的目标程序代码和修改后的目标程序图是否符合预设的规范要求。
具体实施时,在确定修改后的目标程序代码和修改后的目标程序图符合预设的规范要求,且修改后的目标程序代码编译通过的情况下,确定上述相对应的修改后的目标程序代码和修改后的目标程序图满足预设的程序数据库的保存条件,进而可以将其保存到预设的程序数据库中。进一步,还可以为修改后的目标程序代码和修改后的目标程序图建立关联关系。
基于上述实施例,可以准确地检测并判断所得到相对应的修改后的目标程序代码和修改后的目标程序图是否满足预设的程序数据库的保存条件。
在一些实施例中,所述方法具体实施时,还可以包括以下内容:
在确定修改后的目标程序代码和修改后的目标程序图不符合预设的规范要求的情况下,生成并展示相应的规范性提示信息;
在确定修改后的目标程序代码编译未通过的情况下,生成并展示关于修改后的目标程序代码的报错提示信息;其中,所述报错提示信息至少携带有错误位置和错误类型。
具体实施时,在确定不符合预设的规范要求时,可以向用户展示出规范性提示信息。其中,上述规范性提示信息具体可以包括修改后的目标程序代码和修改后的目标程序图中不符合规范要求的数据对应关系,以及相关数据的数据格式;同时,还可以携带有基于相应的规范模板所确定的修改建议。这样,用户可以根据上述规范性提示信息高效地对不符合规范要求的数据对应关系和/或数据格式进行针对性的修改,以满足预设的程序数据库的保存条件。
具体实施时,在确定编译不通过的情况下,还可以向用户展示出相应的报错提示信息。这样,用户可以根据上述报错提示信息,高效、精准地修改相关代码,以满足预设的程序数据库的保存条件。
基于上述实施例,在确定相对应的修改后的目标程序代码和修改后的目标程序图不满足预设的程序数据库的保存条件的情况下,可以及时生成并向用户展示相应的规范性提示信息和/或报错提示信息,引导用户高效、精准地对存在问题的修改后的目标程序代码和/或修改后的目标程序图进行针对性的修改和调整,以满足预设的程序数据库的保存条件。
在一些实施例中,在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图,具体实施时,可以包括以下内容:
在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图,以及相应的修改时间;并将修改后的目标程序代码和修改后的目标程序图关联。
具体实施时,可以根据修改时间生成相应的时间戳。在具体保存相对应的修改后的目标程序代码和修改后的目标程序图时,可以相应地设置对应的时间戳。同时,预设的程序数据库中也可以保存原始的目标程序代码和目标程序图。这样,后续在从预设的程序数据库中调取程序代码和/或程序图时,可以根据时间戳区分修改后的目标程序代码和修改后的目标程序图,与原始的目标程序代码和目标程序图。
基于上述实施例,可以相对更加准确、有效地在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
在一些实施例中,在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图之后,所述方法具体实施时,还可以包括以下内容:
根据修改后的目标程序代码和修改后的目标程序图所属程序的程序标识和修改时间,生成用于指示修改后的目标程序代码和修改后的目标程序图的标识信息;再根据上述标识信息,对外发布修改后的目标程序代码,以供其他用户调取使用。
在一些实施例中,在确定出相对应的目标程序代码和目标程序图之后,所述方法具体实施时,还可以生成联合展示页面;其中,联合展示页面中同时包含有相对应的目标程序图和目标程序代码。
这样,用户可以参考目标程序代码,在目标程序图上基于程序图的维度进行相应修改;同时,服务器会接收并根据程序图修改数据,联动修改相对应的目标程序代码;并在联合展示页面中展示出目标程序代码随着目标程序图的修改而修改的过程,使得用户能够更加细致地了解到目标程序代码的修改过程。
同时,上述联合展示页面也支持用户随时切换修改时所基于的维度,以方便用户更加便捷、高效地完成目标程序代码的修改。
例如,刚开始时,用户可以先点击选中联合展示页面中的目标程序图。这时,用户可以在目标程序图上,基于程序图维度进行修改;服务器接收并根据程序图修改数据,联动修改目标程序代码,并通过联合展示页面向用户展示修改后的目标程序代码。
当修改完成一段时间后,用户又想切换到目标程序代码,基于程序代码的维度进行修改时,用户可以点击并选中展示页面中的目标程序代码。这时,用户可以在目标程序代码上,切换并基于程序代码维度进行修改;服务器接收并根据程序代码的修改数据,联动修改目标程序图,并通过联合展示页面向用户展示修改后的目标程序图。
从而可以使得目标用户修改目标程序代码的过程相对更加自由、便捷,使用户能够获得更好的交互体验。
在一些实施例中,参阅图5所示,在根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码之后,所述方法具体实施时,还可以包括以下内容:
S1:接收关于修改后的目标程序代码的测试请求;
S2:响应所述测试请求,确定相匹配的目标测试类型;其中,所述目标测试类型包括局部测试或全局测试;
S3:根据所述目标测试类型,生成相匹配的目标测试规则;
S4:根据目标测试规则,对修改后的目标程序代码进行自动化测试,得到对应的目标测试结果。
具体实施时,服务器可以通过比对目标程序代码和修改后的目标程序代码,或者比对目标程序图和修改后的目标程序图,确定出相匹配的目标测试类型。
例如,根据比对结果,在确定目标程序代码中的代码框架发生改变的情况下,可以将全局测试确定为相匹配的目标测试类型。又例如,根据比对结果,在确定目标程序代码中只有逻辑代码片段发生改变的情况下,可以将局部测试确定为相匹配的目标测试类型。
具体实施时,上述测试请求还可以携带有用户自定义设置的测试需求。相应的,可以根据目标测试类型和测试需求,配置生成相匹配的目标测试规则。
具体的,可以通过对上述测试需求进行语义识别得到对应的语义识别结果,根据语义识别结果,确定修改后的目标程序代码是否涉及安全性风险。
此外,还可以通过自动解析修改后的目标程序代码,确定出待处理操作的源表;再检测源表是否携带有安全性标签或者敏感数据标记;在确定源表携带有安全性标签或者敏感数据标记的情况下,可以确定修改后的目标程序代码涉及安全性风险。
具体实施时,在确定修改后的目标程序代码不涉及安全性风险,且目标测试类型为全局测试的情况下,可以直接运行修改后的目标程序代码对源表进行测试处理,得到对应的第一处理结果数据;再根据源表、第一处理结果数据与修改后的目标程序代码,通过匹配验证,生成得到对应的目标测试结果。
在确定修改后的目标程序代码不涉及安全性风险,且目标测试类型为局部测试的情况下,可以从修改后的目标程序代码中截取发生修改的逻辑代码片段作为目标逻辑代码片段;再调用预设的代码运行器单独运行该目标逻辑代码片段对源表进行测试处理,得到对应的第二处理结果数据;再根据源表、第二处理结果数据与修改后的目标程序代码,通过匹配验证,生成得到对应的目标测试结果。
在确定修改后的目标程序代码涉及安全性风险,且目标测试类型为全局测试的情况下,根据源表通过预设的造数处理或恢数处理,构造得到模拟源表;再运行修改后的目标程序代码对模拟源表进行测试处理,得到对应的第三处理结果数据;并根据模拟源表、第三处理结果数据与修改后的目标程序代码,通过匹配验证,生成得到对应的目标测试结果。
在确定修改后的目标程序代码涉及安全性风险,且目标测试类型为局部测试的情况下,可以从修改后的目标程序代码中截取发生修改的逻辑代码片段作为目标逻辑代码片段;同时,根据源表通过预设的造数处理或恢数处理,构造得到模拟源表;再调用预设的代码运行器单独运行该目标逻辑代码片段对模拟源表进行测试处理,得到对应的第四处理结果数据;根据模拟源表、第四处理结果数据与修改后的目标程序代码,通过匹配验证,生成得到对应的目标测试结果。
具体实施时,根据测试需求,在确定测试需要贴近真实的应用场景时,可以选择通过预设的恢数处理来构造模拟源表;在确定测试不需要贴近真实的应用场景时,可以选择通过预设的造数处理来构造模拟源表。
其中,具体进行预设的造数处理时,可以根据源表,获取源表中各个数据的数据格式和数据类型;根据源表,构建对应的空表;再生成随机数据;并根据源表中各个数据的数据格式和数据类型,利用随机数据填充空表,以生成得到对应的模拟源表。
具体进行预设的恢数处理时,可以根据源表,获取源表中各个数据的数据格式和数据类型,以及与源表关联的参考数据;对源表中的原有数据进行统计分析,确定出源表的数据分布规则;再根据参考数据和数据分布规则,通过数据拟合,得到对应的拟合数据;根据源表中各个数据的数据格式和数据类型,利用拟合数据填充空表,以生成得到对应的模拟源表。
在一些实施例中,在得到对应的目标测试结果之后,所述方法具体实施时,还可以包括:向用户展示目标测试结果,以便用户根据目标测试结果有针对性地调试修改后的目标程序代码和/或修改后的目标程序图,直到满足用户所需要的业务功能为止。
在一些实施例中,参阅图6所示,所述方法具体实施时,还可以包括以下内容:
S1:接收关于第一程序的第一创建请求;
S2:响应第一创建请求,展示空白程序图界面;
S3:通过空白程序图界面,接收第一程序图设置数据;
S4:根据第一程序图设置数据,创建第一程序图;
S5:根据第一程序图,生成相对应的第一程序代码;并在预设的程序数据库中保存相对应的第一程序代码和第一程序图。
基于上述实施例,可以高效地新建并保存相对应的属于第一程序的第一程序代码和第一程序图。
其中,第一创建请求还可以携带有第一程序的程序标识。
相应的,在接收到第一创建请求之后,可以先根据第一程序的程序标识查询预设的程序数据库以确定预设的程序数据库中是否已经存储有属于第一程序的存量程序代码和/或存量程序图。
在确定预设的程序数据库中已经存储有属于第一程序的存量程序代码和/或存量程序图的情况下,可以向用户展示上述存量程序代码和/或存量程序图。这样,用户不需要另外专门新建第一程序代码和第一程序图,而是可以在上述存量程序代码和/或存量程序图的基础上,通过相应的修改,得到满足要求的第一程序代码和第一程序图。
相反,在确定预设的程序数据库中未存储有属于第一程序的存量程序代码或存量程序图的情况下,用户可以通过上述方式另外专门新建并保存相对应的属于第一程序的第一程序代码和第一程序图。
在一些实施例中,参阅图7所示,所述方法具体实施时,还可以包括以下内容:
S1:接收第二创建请求;其中,所述第二创建请求用于指示创建与第二程序代码关联的第二程序图;
S2:响应第二创建请求,查询预设的程序数据库得到第二程序代码;
S3:根据第二程序代码,确定第二程序代码当前使用的第二代码框架模板,以及第二程序代码的第二主体程序代码;
S4:根据第二代码框架模板,确定相对应的第二程序框架子图;根据第二主体程序代码,确定相对应的第二主体程序子图;
S5:根据第二程序框架子图和第二主体程序子图,构建得到相对应的第二程序图;
S6:在预设的程序数据库中存入第二程序图;并将第二程序图与第二程序代码关联。
其中,上述第二程序代码具体可以是指预设的程序数据库中已有的存量程序代码。
基于上述实施例,可以高效地在预设的程序数据库中创建并保存于存量程序代码相对应的程序图。
在一些实施例中,参阅图8所示,所述方法具体实施时,还可以包括以下内容:
S1:接收第三创建请求;其中,所述第三创建请求用于指示创建与第三程序图关联的第三程序代码;
S2:响应第三创建请求,查询预设的程序数据库得到第三程序图;
S3:根据第三程序图,确定出第三程序框架子图和第三主体程序子图;
S4:根据第三程序框架子图,确定相对应的第三代码框架模板;根据第三主体程序子图,确定相对应的第三主体程序代码;
S5:根据第三代码框架模板和第三主体程序代码,生成得到相对应的第三程序代码;
S6:在预设的程序数据库中存入第三程序代码;并将第三程序代码与第三程序图关联。
其中,上述第三程序图具体可以是指预设的程序数据库中已有的存量程序图。
基于上述实施例,可以高效地在预设的程序数据库中创建并保存于存量程序图相对应的程序代码。
在一些实施例中,所述方法具体实施时,还可以包括以下内容:
S1:接收关于第四程序代码和第四程序图的测试请求;
S2:响应所述测试请求,查询预设的程序数据库得到相对应的第四程序代码和第四程序图;
S3:检测所述第四程序代码和第四程序图是否相匹配;
S4:在确定第四程序代码和第四程序图相匹配的情况下,确定出相匹配的测试规则;
S5:根据测试规则,对第四程序代码进行相应测试,得到对应的测试结果。
其中,上述第四程序代码和第四程序图具体可以是指预设的程序数据库中已有的相对应的存量程序代码和存量程序图。
具体实施时,可以通过检测第四程序代码和第四程序图是否存在相对应的关联关系,判断第四程序代码和第四程序图是否相匹配。
基于上述实施例,可以自动实现对预设的程序数据库中相对应的存量程序代码和存量程序图的测试。
由上可见,基于本说明书实施例提供的数据库程序的数据处理方法,预先可以在预设的程序数据库中保存并关联相对应的程序代码和程序图。具体实施时,在接收到关于目标程序的目标修改请求后,可以先查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;再向用户展示出目标程序图,以支持用户基于程序图的维度来修改程序代码;相应的,接收用户针对目标程序图的程序图修改数据;并根据程序图修改数据,自动修改相对应的目标程序代码,得到满足用户要求的修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。通过在预设的程序数据库中同时保存并关联相对应的程序代码和程序图,支持用户基于程序图的维度修改相对应的程序代码,从而有效地降低了用户的操作难度,简化了用户侧的操作,提高了整体的数据处理效率,能够较为高效、精准地及时维护更新数据仓库中的程序代码。
本说明书实施例还提供一种服务器,参阅图9所示。其中,所述服务器包括网络通信端口901、处理器902以及存储器903,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口901,具体可以用于接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识。
所述处理器902,具体可以用于响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;展示目标程序图;并接收针对目标程序图的程序图修改数据;根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
所述存储器903,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口901可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器902可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器903可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述数据库程序的数据处理方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现以下步骤:接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识;响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;展示目标程序图;并接收针对目标程序图的程序图修改数据;根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例还提供了一种计算机程序产品,至少包含有计算机程序,所述计算机程序被处理器执行时实现以下方法步骤:接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识;响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;展示目标程序图;并接收针对目标程序图的程序图修改数据;根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
参阅图10所示,在软件层面上,本说明书实施例还提供了一种数据库程序的数据处理装置,该装置具体可以包括以下的结构模块:
接收模块1001,具体可以用于接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识;
确定模块1002,具体可以用于响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;
展示模块1003,具体可以用于展示目标程序图;并接收针对目标程序图的程序图修改数据;
处理模块1004,具体可以用于根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
在一些实施例中,上述展示模块1003具体实施时,可以按照以下方式展示目标程序图:展示目标程序图的程序框架子图和主体程序子图;其中,所述主体程序子图包括:处理逻辑框图和/或关键字段框图;其中,所述程序框架子图与目标程序代码所使用的代码框架模板关联;所述主体程序子图与目标程序代码的主体程序代码关联;所述处理逻辑框图与目标程序代码中的逻辑代码片段关联;所述关键字段框图与目标程序代码中的关键代码字段关联。
在一些实施例中,上述程序图修改数据具体可以包括:程序框架子图修改数据和/或主体程序子图修改数据等;
相应的,在一些实施例中,上述处理模块1004具体实施时,可以按照以下方式根据所述程序图修改数据,修改目标程序代码:根据程序框架子图修改数据,确定出目标算法框架;将目标程序代码当前使用的代码框架模板切换为与目标算法框架对应的代码框架模板;和/或,根据主体程序子图修改数据,确定出待修改的目标逻辑代码片段和/或待修改的目标关键代码字段;并对应修改所述目标逻辑代码片段和/或目标关键代码字段。
在一些实施例中,所述关键代码字段具体可以包括以下至少之一:源表名称字段、取数字段、筛选条件字段、操作指令字段等。
在一些实施例中,在根据程序图修改数据,修改目标程序代码,得到修改后的目标程序代码之后,所述装置具体实施时,还可以用于:检测修改后的目标程序代码和修改后的目标程序图是否符合预设的规范要求;在确定修改后的目标程序代码和修改后的目标程序图符合预设的规范要求的情况下,编译修改后的目标程序代码,得到对应的编译结果;根据编译结果,在确定修改后的目标程序代码编译通过的情况下,确定修改后的目标程序代码和修改后的目标程序图满足预设的程序数据库的保存条件。
在一些实施例中,所述装置具体实施时,还可以用于:在确定修改后的目标程序代码和修改后的目标程序图不符合预设的规范要求的情况下,生成并展示相应的规范性提示信息;在确定修改后的目标程序代码编译未通过的情况下,生成并展示关于修改后的目标程序代码的报错提示信息;其中,所述报错提示信息至少携带有错误位置和错误类型。
在一些实施例中,上述处理模块1004具体实施时,可以按照以下方式在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图:在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图,以及相应的修改时间;并将修改后的目标程序代码和修改后的目标程序图关联。
在一些实施例中,所述装置具体实施时,还可以用于:接收关于第一程序的第一创建请求;响应第一创建请求,展示空白程序图界面;通过空白程序图界面,接收第一程序图设置数据;根据第一程序图设置数据,创建第一程序图;根据第一程序图,生成相对应的第一程序代码;并在预设的程序数据库中保存相对应的第一程序代码和第一程序图。
在一些实施例中,所述装置具体实施时,还可以用于:接收第二创建请求;其中,所述第二创建请求用于指示创建与第二程序代码关联的第二程序图;响应第二创建请求,查询预设的程序数据库得到第二程序代码;根据第二程序代码,确定第二程序代码当前使用的第二代码框架模板,以及第二程序代码的第二主体程序代码;根据第二代码框架模板,确定相对应的第二程序框架子图;根据第二主体程序代码,确定相对应的第二主体程序子图;根据第二程序框架子图和第二主体程序子图,构建得到相对应的第二程序图;在预设的程序数据库中存入第二程序图;并将第二程序图与第二程序代码关联。
在一些实施例中,所述装置具体实施时,还可以用于:接收第三创建请求;其中,所述第三创建请求用于指示创建与第三程序图关联的第三程序代码;响应第三创建请求,查询预设的程序数据库得到第三程序图;根据第三程序图,确定出第三程序框架子图和第三主体程序子图;根据第三程序框架子图,确定相对应的第三代码框架模板;根据第三主体程序子图,确定相对应的第三主体程序代码;根据第三代码框架模板和第三主体程序代码,生成得到相对应的第三程序代码;在预设的程序数据库中存入第三程序代码;并将第三程序代码与第三程序图关联。
在一些实施例中,所述装置具体实施时,还可以用于:接收关于第四程序代码和第四程序图的测试请求;响应所述测试请求,查询预设的程序数据库得到相对应的第四程序代码和第四程序图;检测所述第四程序代码和第四程序图是否相匹配;在确定第四程序代码和第四程序图相匹配的情况下,确定出相匹配的测试规则;根据测试规则,对第四程序代码进行相应测试,得到对应的测试结果。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,基于本说明书实施例提供的数据库程序的数据处理装置,可以有效降低用户的操作难度,简化了用户侧的操作,提高整体的数据处理效率,进而能够较为高效、精准地及时维护更新数据仓库中的程序代码。
在一个具体的场景示例中,可以应用本说明书提供的数据库程序的数据处理方法实现基于数据仓库的自动化程序图开发测试。
考虑到基于现有方法,数据仓库(例如,预设的数据库)的大部分程序代码的形式大多较为统一,但在不同的平台上也有许多语法的差异。在日常维护管理中,一旦涉及到大批量程序相似逻辑改写时,通常需要人为进行大量代码改写,易错率高、人力成本大。此外,一旦涉及到数据库迁移,也同样会投入大量人力用于程序代码的手动改写以及测试工作。
在本场景示例中,可以应用本说明书提供的数据库程序的数据处理方法,将原数据仓库中的程序代码统一转换成程序图形式(即,与程序代码相对应的程序图)进行存储,以便于后续日常的修改更新操作,这样不仅能提高开发测试效率,也为后续可能的数据库迁移提前做好准备。
参阅图2,表示出了一个示意性的程序代码Pragram1的代码形式。主要结构包括:1、程序框架(例如,代码框架):包括变量定义、服务器和数据库的连接等内容。2、主体程序(例如,主体程序代码)。基于上述主体程序代码,可以实现以下具体步骤:1)创建本程序中的临时表;2)从源表取数进行加工后暂存于临时表;其中,每张源表的取数逻辑作为一个Group(对应一个逻辑代码片段);3)将临时表中数据更新到目标表中。
再将上述程序代码转换为对应的程序图后,可以参阅图3所示。
在本场景示例中,数据仓库的程序代码与相匹配的程序图有着相互对应关系(关联关系)。具体在日常维护过程中主要有存在以下4种情况:
情况(1)无程序图无程序代码。此种情况多为需要新开发程序,可通过绘制程序图的编程方式自动生成程序代码,达到快速编码的目的。详见“程序图编写模块”。
情况(2)无程序图有程序代码。此种情况多为历史上大量的存量程序代码,需要转换成对应的程序图,以便后续的更新维护。详见“程序代码转程序图模块”。
情况(3)有程序图无程序代码。此种情况多为新开发了一个或多个新程序图,需要转换成实际程序代码后,方可进行编译处理、加载测试、版本发布等操作。详见“程序图转程序代码模块”。
情况(4)有程序图有程序代码。此种情况多为程序图与程序代码均已存在,需要建立确定的一一对应关系(包括程序名称和版本号),便于后续自动化测试和发布。详见“程序图测试模块”。
同时,上述数据仓库还提供用户管理模块,用于区分开发人员和测试人员,提供两种不同的视图方式。具体的,开发人员登陆系统后,可使用的模块包括程序图编写模块、程序代码转程序图模块、程序图转程序代码模块。测试人员登陆系统后,可使用的模块包括自动化测试模块。
具体实施时,针对情况(1),对于需要设计一个新的程序代码时,可以使用“程序图编写模块”采用绘制程序图的方式自动生成程序代码。具体处理过程可以参阅图11所示,包括以下步骤。
步骤1:创建一个程序图编写任务。
步骤2:确定程序图名称和版本号(例如,程序标识)。
步骤3:(在程序框架子图中)选择一种程序框架(例如,确定目标算法框架)。具体的,通常数据仓库程序结构类似,可按具体算法分类,可以参阅表1。
步骤4:进入到主体程序图(例如,主体程序子图)设计后,确认所需创建临时表的表名。
步骤5:确认Group1信息(例如,逻辑代码片段),包括源表名称、选取的字段、各字段处理逻辑、where筛选条件、join的表信息(例如,关键代码字段)。
步骤6:如果有多段Group编写,则重复步骤5的操作。由此得到临时表数据。
步骤7:根据框架(算法),确定目标表表名后将临时表数据更新到目标表中。
步骤8:完成程序图内容的编辑后可自动生成临时程序代码,过程详见“程序图转程序代码模块”。
步骤9:自动编译程序代码,通过后将程序图编写任务状态置为“完成”;如果不通过,则返回到步骤4进行相应修改。
步骤10:对编译通过的程序图,自动生成程序图编号,记录下对应的程序代码名以及修改时间,供后续正式发版用。
针对情况(2),对于数据仓库中数千个程序代码(模型作业),可使用“程序代码转程序图模块”陆续将存量程序代码转换为对应的程序图形式,便于后期频繁的修改和维护。具体处理过程可以参阅图12所示,包括以下步骤。
步骤1:创建一个程序代码转程序图任务。
步骤2:确定原程序名称和版本号。
步骤3:根据原程序名称和版本号确定转换后的程序图名称和版本号。如果历史上没有对应的程序图和版本号,则首次创建出对应的程序图名称和版本号;如果已有对应的程序图名称和版本号,则自动判断这一版本号下的程序代码与程序图是否相匹配,如果不匹配,则进行人工判断。
步骤4:自动转换成程序图模式,包括程序框架和主体程序图(包括临时表名、目标表表名、各个Group具体信息)。
步骤5:根据每个Group原代码内容,对主体图中每个Group进行自动填写:包括源表名称、选取的字段、各字段处理逻辑、where筛选条件、join的表信息。
步骤6:转换过程中,如果因原代码编写不规范可能导致转换失败,可以进行人工干预处理,包括优化原程序代码使之规范化,或者直接在程序图中进行手工填写相关内容。
针对情况(3),对于新开发的程序图需要转换成实际程序代码的情况,也包括在原来已有程序图和程序代码的情况下先对程序图更新修改后需要自动同步程序代码的情况,可使用“程序图转程序代码模块”进行操作。具体处理过程可以参阅图13所示,包括以下步骤。
步骤1:创建一个程序图转程序代码任务。
步骤2:确定原程序图名称和版本号。
步骤3:根据原程序图名称和版本号确定转换后的程序名称和版本号。如果没有对应的程序名称和版本号,则首次创建出对应的程序名称和版本号;如果已有对应的程序名称和版本号,则自动判断这一版本号下的程序图与程序代码是否相匹配,如果不匹配,则进行人工判断。
步骤4:自动转换成程序代码模式,包括程序框架和主体程序结构(包括临时表创建语句、目标表更新语句、各个Group框架)。
步骤5:根据程序图的主体图中每个Group内容,对每个Group原代码自动编写:包括源表名称、选取的字段、各字段处理逻辑、where筛选条件、join的表信息。
步骤6:转换过程中,如果因程序图设计不规范可能导致转换失败,可以进行人工干预处理,包括优化程序图各模块处理逻辑使之规范化,或者直接在程序代码中进行手工编写相关内容。
步骤7:程序代码生成完成之后,自动进行编译和语法检查,通过后视为转换成功。
此外,尤其对于大批量需要修改某些源数据表取数逻辑的情况,则无需再手工逐一修改对应的程序代码,可快速使用出程序图修改的方法自动化、批量化统一修改,然后生成对应的程序代码。
针对情况(4),对于测试阶段,可使用“自动化测试模块”实现对一个新增或修改的程序代码的自动化测试。具体处理过程可以参阅图14所示,包括以下步骤。
步骤1:确定本次版本新增或修改的程序清单(程序名称和版本号)。
步骤2:根据程序清单,引入程序代码和程序图。
步骤3:自动比对程序代码与程序图是否匹配。
步骤4:分情况对程序进行局部测试和全部测试(例如,全局测试)。
具体实施时,可以分以下两种情况处理:
情况一:如果是程序的部分修改,则将本次版本的程序图(推荐)或程序代码,与上一次版本进行比对,得到修改的Group内容。
情况二:如果是新增程序或者整个框架(算法)发生改变,都需要将这个程序进行测试,即所有Group的取数逻辑内容。
步骤5:针对所有涉及新增或修改的Group,罗列出源表信息和筛选条件。
步骤6:根据所需源表信息,通过自动造数或者恢数手段进行数据模拟导入。
步骤7:所有数据源表数据准备完毕后,自动单调加载程序作业,返回结果表内容。
步骤8:由测试人员或业务人员判断结果的准确性。
通过上述场景示例,验证了本说明书提供的数据库程序的数据处理方法,能够较好地实现基于数据仓库的自动化程序图开发测试。对于历史存量较大的数据仓库而言,能够有效减少日常维护程序代码的工作量,提升了开发测试效率。此外,程序图编写的可视化图形操作界面,易于理解和上手,可以避免因手工改写错误而引发的问题。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机可读存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (15)

1.一种数据库程序的数据处理方法,其特征在于,包括:
接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识;
响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;
展示目标程序图;并接收针对目标程序图的程序图修改数据;
根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
2.根据权利要求1所述的方法,其特征在于,展示目标程序图,包括:
展示目标程序图的程序框架子图和主体程序子图;其中,所述主体程序子图包括:处理逻辑框图和/或关键字段框图;
其中,所述程序框架子图与目标程序代码所使用的代码框架模板关联;所述主体程序子图与目标程序代码的主体程序代码关联;所述处理逻辑框图与目标程序代码中的逻辑代码片段关联;所述关键字段框图与目标程序代码中的关键代码字段关联。
3.根据权利要求2所述的方法,其特征在于,程序图修改数据包括:程序框架子图修改数据和/或主体程序子图修改数据;
相应的,根据所述程序图修改数据,修改目标程序代码,包括:
根据程序框架子图修改数据,确定出目标算法框架;将目标程序代码当前使用的代码框架模板切换为与目标算法框架对应的代码框架模板;
和/或,
根据主体程序子图修改数据,确定出待修改的目标逻辑代码片段和/或待修改的目标关键代码字段;并对应修改所述目标逻辑代码片段和/或目标关键代码字段。
4.根据权利要求2所述的方法,其特征在于,所述关键代码字段包括以下至少之一:源表名称字段、取数字段、筛选条件字段、操作指令字段。
5.根据权利要求1所述的方法,其特征在于,在根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码之后,所述方法还包括:
检测修改后的目标程序代码和修改后的目标程序图是否符合预设的规范要求;
在确定修改后的目标程序代码和修改后的目标程序图符合预设的规范要求的情况下,编译修改后的目标程序代码,得到对应的编译结果;
根据编译结果,在确定修改后的目标程序代码编译通过的情况下,确定修改后的目标程序代码和修改后的目标程序图满足预设的程序数据库的保存条件。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在确定修改后的目标程序代码和修改后的目标程序图不符合预设的规范要求的情况下,生成并展示相应的规范性提示信息;
在确定修改后的目标程序代码编译未通过的情况下,生成并展示关于修改后的目标程序代码的报错提示信息;其中,所述报错提示信息至少携带有错误位置和错误类型。
7.根据权利要求1所述的方法,其特征在于,在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图,包括:
在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图,以及相应的修改时间;并将修改后的目标程序代码和修改后的目标程序图关联。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收关于第一程序的第一创建请求;
响应第一创建请求,展示空白程序图界面;
通过空白程序图界面,接收第一程序图设置数据;
根据第一程序图设置数据,创建第一程序图;
根据第一程序图,生成相对应的第一程序代码;并在预设的程序数据库中保存相对应的第一程序代码和第一程序图。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第二创建请求;其中,所述第二创建请求用于指示创建与第二程序代码关联的第二程序图;
响应第二创建请求,查询预设的程序数据库得到第二程序代码;
根据第二程序代码,确定第二程序代码当前使用的第二代码框架模板,以及第二程序代码的第二主体程序代码;
根据第二代码框架模板,确定相对应的第二程序框架子图;根据第二主体程序代码,确定相对应的第二主体程序子图;
根据第二程序框架子图和第二主体程序子图,构建得到相对应的第二程序图;
在预设的程序数据库中存入第二程序图;并将第二程序图与第二程序代码关联。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第三创建请求;其中,所述第三创建请求用于指示创建与第三程序图关联的第三程序代码;
响应第三创建请求,查询预设的程序数据库得到第三程序图;
根据第三程序图,确定出第三程序框架子图和第三主体程序子图;
根据第三程序框架子图,确定相对应的第三代码框架模板;根据第三主体程序子图,确定相对应的第三主体程序代码;
根据第三代码框架模板和第三主体程序代码,生成得到相对应的第三程序代码;
在预设的程序数据库中存入第三程序代码;并将第三程序代码与第三程序图关联。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收关于第四程序代码和第四程序图的测试请求;
响应所述测试请求,查询预设的程序数据库得到相对应的第四程序代码和第四程序图;
检测所述第四程序代码和第四程序图是否相匹配;
在确定第四程序代码和第四程序图相匹配的情况下,确定出相匹配的测试规则;
根据测试规则,对第四程序代码进行相应测试,得到对应的测试结果。
12.一种数据库程序的数据处理装置,其特征在于,包括:
接收模块,用于接收关于目标程序的目标修改请求;其中,所述目标修改请求至少携带有目标程序的程序标识;
确定模块,用于响应所述目标修改请求,根据目标程序的程序标识查询预设的程序数据库,确定出相对应的目标程序代码和目标程序图;其中,所述预设的程序数据库至少存储有涉及数据库的程序代码,以及与程序代码相对应的程序图;相对应的程序代码和程序图存在关联关系;
展示模块,用于展示目标程序图;并接收针对目标程序图的程序图修改数据;
处理模块,用于根据所述程序图修改数据,修改目标程序代码,得到修改后的目标程序代码;并在预设的程序数据库中保存相对应的修改后的目标程序代码和修改后的目标程序图。
13.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至11中任一项所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被处理器执行时实现权利要求1至11中任一项所述方法的步骤。
15.一种计算机程序产品,其特征在于,包含有计算机程序,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述方法的步骤。
CN202410176595.XA 2024-02-08 2024-02-08 数据库程序的数据处理方法、装置和服务器 Pending CN117950711A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410176595.XA CN117950711A (zh) 2024-02-08 2024-02-08 数据库程序的数据处理方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410176595.XA CN117950711A (zh) 2024-02-08 2024-02-08 数据库程序的数据处理方法、装置和服务器

Publications (1)

Publication Number Publication Date
CN117950711A true CN117950711A (zh) 2024-04-30

Family

ID=90796005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410176595.XA Pending CN117950711A (zh) 2024-02-08 2024-02-08 数据库程序的数据处理方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN117950711A (zh)

Similar Documents

Publication Publication Date Title
CN106909510B (zh) 一种获取测试用例的方法以及服务器
CN109408102B (zh) 一种版本比对方法和装置、家电设备、网络设备
CN107453960B (zh) 一种在服务测试中处理测试数据的方法、装置和系统
CN111221726A (zh) 一种测试数据生成方法、装置、存储介质和智能设备
CN108920370B (zh) 兼容性问题检测方法、装置及设备
CN110471652B (zh) 任务编排方法、编排器、设备及可读存储介质
WO2011060655A1 (zh) 软件业务功能覆盖率的统计方法及系统
CN104679500B (zh) 实体类自动生成实现方法及装置
CN110990274A (zh) 一种生成测试案例的数据处理方法、装置及系统
CN111737227A (zh) 数据修改方法及系统
CN114185791A (zh) 一种数据映射文件的测试方法、装置、设备及存储介质
CN117493188A (zh) 接口测试方法及装置、电子设备及存储介质
CN109508203B (zh) 版本一致性确定方法、装置及系统
US9396239B2 (en) Compiling method, storage medium and compiling apparatus
CN117950711A (zh) 数据库程序的数据处理方法、装置和服务器
CN115480940A (zh) 一种财务比率指标页面化调用方法、装置及介质
CN109840213B (zh) 一种gui测试的测试数据创建方法、装置、终端及存储介质
CN114297961A (zh) 一种芯片测试用例处理方法及相关装置
CN114860608A (zh) 基于场景构建的系统自动化测试方法、装置、设备及介质
CN113806231A (zh) 一种代码覆盖率分析方法、装置、设备和介质
CN109558153B (zh) 版本一致性确定方法、装置及系统
US20080195453A1 (en) Organisational Representational System
CN109766266A (zh) 测试工具选择方法、装置、计算机装置及可读存储介质
CN112347095B (zh) 数据表的处理方法、装置和服务器
CN109002287B (zh) 云数据系统中软件的管理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination