CN116483888A - 程序评估方法及装置、电子设备和计算机可读存储介质 - Google Patents
程序评估方法及装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116483888A CN116483888A CN202310456748.1A CN202310456748A CN116483888A CN 116483888 A CN116483888 A CN 116483888A CN 202310456748 A CN202310456748 A CN 202310456748A CN 116483888 A CN116483888 A CN 116483888A
- Authority
- CN
- China
- Prior art keywords
- program
- information
- data
- evaluation
- determining
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 37
- 239000008280 blood Substances 0.000 claims abstract description 63
- 210000004369 blood Anatomy 0.000 claims abstract description 63
- 238000011156 evaluation Methods 0.000 claims description 102
- 238000012795 verification Methods 0.000 claims description 53
- 238000000034 method Methods 0.000 claims description 42
- 238000010586 diagram Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 12
- 238000011161 development Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013496 data integrity verification Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种程序评估方法及装置、电子设备和计算机可读存储介质,可以应用于大数据技术、数据处理技术和金融领域。该程序评估方法包括:根据与待评估程序对应的血缘关系,获取与血缘关系中的N个对象标识各自对应的对象信息,其中,N为正整数;根据血缘关系中的关联关系信息和与N个对象标识各自对应的对象信息,确定程序校验结果;根据血缘关系、与N个对象标识各自对应的对象信息和程序校验结果,生成数据流向图,其中,数据流向图包括与N个对象标识各自对应的对象节点和N个对象节点之间的有向边;根据数据流向图,确定与待评估程序对应的程序评估结果。
Description
技术领域
本公开涉及大数据技术、数据处理技术和金融领域,更具体地,涉及一种程序评估方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
随着大数据技术的发展,用户行为会产生海量数据,如何对海量数据进行有效的数据治理是亟待解决的问题。
通过设计Hive程序,可以实现基于Hive数据仓库工具的数据提取、转化和加载。Hive数据仓库工具可以将结构化的数据文件映射为数据库表,并提供结构化查询语言(Structured Query Language,SQL)查询功能。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:无法保障Hive程序分析的效率和准确性。
发明内容
有鉴于此,本公开提供了一种程序评估方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一个方面,提供了一种程序评估方法,包括:
根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息,其中,N为正整数;
根据上述血缘关系中的关联关系信息和上述N个对象信息,确定程序校验结果;
根据上述血缘关系、上述N个对象信息和上述程序校验结果,生成数据流向图,其中,上述数据流向图包括与上述N个对象标识各自对应的对象节点和N个对象节点之间的有向边;以及
根据上述数据流向图,确定与上述待评估程序对应的程序评估结果。
根据本公开的实施例,上述根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息包括:
根据上述N个对象标识,确定与上述N个对象标识各自对应的存储路径信息;以及
调用目标接口,根据与上述N个对象标识各自对应的存储路径信息,从数据湖中获取上述N个对象信息。
根据本公开的实施例,上述对象信息包括对象数据和时间信息,上述程序校验结果包括与上述N个对象标识各自对应的对象校验结果。
根据本公开的实施例,上述根据上述血缘关系中的关联关系信息和上述N个对象信息,确定程序校验结果包括:
根据关联关系信息,确定关联对象标识;
根据上述关联对象标识,确定关联对象信息,其中,上述关联对象信息包括关联对象数据和关联时间信息;
根据时间信息和上述关联时间信息,确定与上述对象标识对应的查询规模信息;
根据上述查询规模信息,对上述血缘关系进行校验,得到校验结果;
在上述校验结果表征上述血缘关系存在异常的情况下,确定表征上述对象数据未通过评估的上述对象校验结果;以及
在上述校验结果表征上述血缘关系正常的情况下,确定表征上述对象数据通过评估的上述对象校验结果。
根据本公开的实施例,上述对象信息还包括校验规则。
根据本公开的实施例,上述根据上述关联对象标识,确定关联对象信息包括:
根据上述关联对象标识,确定候选关联对象信息,其中,上述候选关联对象信息包括候选关联对象数据和候选关联时间信息;
根据上述校验规则,对上述候选关联对象数据进行完整性校验,得到完整性校验结果;以及
响应于上述完整性校验结果表征上述候选关联对象数据通过完整性校验,将上述候选关联对象信息确定为上述关联对象信息。
根据本公开的实施例,上述根据上述血缘关系、上述N个对象信息和上述程序校验结果,生成数据流向图包括:
根据对象信息和上述对象校验结果,构建与上述对象标识对应的对象节点;
根据上述关联关系信息,构建与上述对象标识对应的有向边;以及
根据上述与对象标识对应的上述对象节点和上述有向边,生成上述数据流向图。
根据本公开的实施例,上述程序评估结果包括与上述N个对象标识各自对应的对象评估结果。
根据本公开的实施例,上述根据上述数据流向图,确定与上述待评估程序对应的程序评估结果包括:
确定与上述对象标识对应的目标对象节点、M个关联对象节点和P条目标有向边,其中,M和P均为正整数;
根据预设评估规则,对与上述目标对象节点对应的目标对象数据和与上述M个关联对象节点各自对应的关联对象数据进行评估;
在确定上述目标对象数据和上述M个关联对象数据中存在异常数据的情况下,得到表征上述对象数据未通过评估的上述对象评估结果;以及
在确定上述目标对象数据和上述M个关联对象数据均为正常数据的情况下,得到表征上述对象数据通过评估的上述对象评估结果。
根据本公开的实施例,上述程序评估方法还包括,在上述根据上述数据流向图,确定与上述待评估程序对应的程序评估结果之后:
在与上述对象标识对应的上述对象评估结果表征上述对象数据未通过评估的情况下,利用上述目标对象节点、上述M个关联对象节点和上述P条目标有向边,基于第一预定模式展示上述对象评估结果;以及
在与上述对象标识对应的上述对象评估结果表征上述对象数据通过评估的情况下,利用上述目标对象节点、上述M个关联对象节点和上述P条目标有向边,基于第二预定模式展示上述对象评估结果。
根据本公开的实施例,上述程序评估方法还包括,在上述根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息之前:
响应于接收到程序评估请求,获取上述程序评估请求指示的上述待评估程序;
对上述待评估程序进行解析处理,得到上述N个对象标识和上述关联关系信息;以及
根据上述N个对象标识和上述关联关系信息,确定上述血缘关系。
根据本公开的另一个方面,提供了一种程序评估装置,包括:
第一获取模块,用于根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息,其中,N为正整数;
第一确定模块,用于根据上述血缘关系中的关联关系信息和上述N个对象信息,确定程序校验结果;
生成模块,用于根据上述血缘关系、上述N个对象信息和上述程序校验结果,生成数据流向图,其中,上述数据流向图包括与上述N个对象标识各自对应的对象节点和N个对象节点之间的有向边;以及
第二确定模块,用于根据上述数据流向图,确定与上述待评估程序对应的程序评估结果。
根据本公开的另一个方面,提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个指令,
其中,当上述一个或多个指令被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如本公开所述的方法。
根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有可执行指令,上述可执行指令被处理器执行时使处理器实现如本公开所述的方法。
根据本公开的另一个方面,提供了一种计算机程序产品,上述计算机程序产品包括计算机可执行指令,上述计算机可执行指令在被执行时用于实现如本公开所述的方法。
根据本公开的实施例,由于数据流向图是根据与待评估程序对应的血缘关系、对象信息和程序校验结果生成的,对象信息是根据血缘关系获取的,程序校验结果是根据血缘关系中的关联关系信息和对象信息确定的,因而数据流向图中的有向边能够表征每两个对象节点之间的数据依赖关系。在此基础上,通过根据数据流向图,确定与待评估程序对应的程序评估结果,至少部分地克服了相关技术中无法保障Hive程序分析的效率和准确性的技术问题,由于程序评估结果是根据数据流向图自动确定的,因而提高了程序评估的效率,由于数据流向图是根据与待评估程序对应的血缘关系、对象信息和程序校验结果自动生成的,因而提高了程序评估的准确性。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用程序评估方法的系统架构;
图2示意性示出了根据本公开实施例的程序评估方法的流程图;
图3示意性示出了根据本公开实施例的根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息过程的示例示意图;
图4示意性示出了根据本公开实施例的根据血缘关系中的关联关系信息和N个对象信息,确定程序校验结果方法的流程图;
图5示意性示出了根据本公开实施例的根据关联对象标识,确定关联对象信息过程的示例示意图;
图6示意性示出了根据本公开实施例的根据血缘关系、N个对象信息和程序校验结果,生成数据流向图过程的示例示意图;
图7示意性示出了根据本公开实施例的根据数据流向图,确定与待评估程序对应的程序评估结果过程的示例示意图;
图8示意性示出了根据本公开实施例的程序评估过程的示例示意图;
图9示意性示出了根据本公开实施例的程序评估装置的框图;以及
图10示意性示出了根据本公开实施例的适于实现程序评估方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
由于在Hive程序的分析处理过程中,从数据源到最终数据的生成,每个环节都可能会存在数据质量的问题。例如,在数据源本身的数据质量较低的情况下,如果在后续的处理环节中也并未进行数据质量的检测和处理,则在该数据最终流转到Hive表的情况下,会导致Hive表的数据质量同样较低。备选地,在某个环节的数据处理过程中,可能对数据进行了不恰当的处理,导致后续环节的数据质量较低。
因此,如何确定数据血缘关系是亟待解决的问题。数据血缘关系可以指在数据溯源的过程中找到相关数据之间的联系。但是,由于开发和测试环境难以提供数量级足够的测试验证数据,因而无法保障Hive程序分析和优化的效率和准确性。
为了至少部分地解决相关技术中存在的技术问题,本公开提供了一种程序评估方法及装置、电子设备和计算机可读存储介质,可以应用于大数据技术、数据处理技术和金融领域。该程序评估方法包括:根据与待评估程序对应的血缘关系,获取与血缘关系中的N个对象标识各自对应的对象信息,其中,N为正整数;根据血缘关系中的关联关系信息和与N个对象标识各自对应的对象信息,确定程序校验结果;根据血缘关系、与N个对象标识各自对应的对象信息和程序校验结果,生成数据流向图,其中,数据流向图包括与N个对象标识各自对应的对象节点和N个对象节点之间的有向边;根据数据流向图,确定与待评估程序对应的程序评估结果。
需要说明的是,本公开实施例提供的程序评估方法和装置可用于大数据技术、数据处理技术和金融领域,例如应用于数据治理技术领域。本公开实施例提供的程序评估方法和装置也可用于除大数据技术、数据处理技术和金融领域之外的任意领域,例如应用于软件开发技术领域。本公开实施例提供的程序评估方法和装置的应用领域不做限定。
图1示意性示出了根据本公开实施例的可以应用程序评估方法的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括第一终端设备101、第二终端设备102、第三终端设备103,网络104和服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与服务器105交互,以接收或发送消息等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用第一终端设备101、第二终端设备102、第三终端设备103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的程序评估方法一般可以由服务器105执行。相应地,本公开实施例所提供的程序评估装置一般可以设置于服务器105中。本公开实施例所提供的程序评估方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的程序评估装置也可以设置于不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群中。
备选地,本公开实施例所提供的程序评估方法也可以由第一终端设备101、第二终端设备102或第三终端设备103执行,或者也可以由不同于第一终端设备101、第二终端设备102或第三终端设备103的其他终端设备执行。相应地,本公开实施例所提供的程序评估装置也可以设置于第一终端设备101、第二终端设备102或第三终端设备103中,或设置于不同于第一终端设备101、第二终端设备102或第三终端设备103的其他终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的程序评估方法的流程图。
如图2所示,该程序评估方法200包括操作S210~S240。
在操作S210,根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息。N为正整数。
在操作S220,根据血缘关系中的关联关系信息和N个对象信息,确定程序校验结果。
在操作S230,根据血缘关系、N个对象信息和程序校验结果,生成数据流向图,其中,数据流向图包括与N个对象标识各自对应的对象节点和N个对象节点之间的有向边。
在操作S240,根据数据流向图,确定与待评估程序对应的程序评估结果。
根据本公开的实施例,程序评估方法的适用场景可以根据实际业务需求进行设置,在此不作限定。例如,程序评估方法可以适用于以下场景中的至少之一:主题聚合场景和数据资产建模开发场景。
根据本公开的实施例,由于上述场景需要基于大数据平台的hive数据仓库工具来进行与待评估程序相关的数据提取、转化和加载,因而采用hive开发程序进行建模,存在大量结构化查询语言关联动作,进而存在大量hive表的关联操作。hive数据仓库工具能将结构化的数据文件映射为数据库表,提供SQL查询功能,并能够将SQL语句转变成MapReduce任务来执行。
根据本公开的实施例,血缘关系可以指在数据的全生命周期中,数据与数据之间形成的多种多样的关系。与待评估程序对应的血缘关系可以是通过对与待评估程序对应的元数据进行处理得到的。
根据本公开的实施例,在获得与待评估程序对应的血缘关系之后,可以根据与待评估程序对应的血缘关系,获取与血缘关系中的N个对象标识各自对应的对象信息。对象信息可以包括与对象标识对应的程序代码段和元数据信息。对象信息的获取方式可以根据实际业务需求进行设置,在此不作限定。例如,对象信息可以是通过实时采集获取的。例如,可以根据N个对象标识中的每个对象标识,获取与对象标识对应的原始对象信息,通过对原始对象信息进行处理,得到对象信息。备选地,对象信息也可以是从数据源中获取的。数据源可以包括以下至少之一:本地数据库、云数据库、数据湖和网络资源。例如,可以调用数据接口,利用数据接口从数据源中获取对象信息。备选地,对象信息可以是接收自其它终端设备发送的。
根据本公开的实施例,在获得与N个对象标识各自对应的对象信息之后,可以根据血缘关系中的关联关系信息和与N个对象标识各自对应的对象信息,确定程序校验结果。程序校验结果可以包括与N个对象标识各自对应的对象校验结果。对象校验结果可以用于表征与N个对象标识各自对应的对象数据是否通过评估。对象校验结果可以是根据与对象标识对应的对象信息和关联对象信息确定的。关联对象信息可以是根据关系关系信息确定的。
根据本公开的实施例,在获得与N个对象标识各自对应的程序校验结果之后,可以根据血缘关系、与N个对象标识各自对应的对象信息和程序校验结果,生成数据流向图。数据流向图可以包括有向无环图(Directed Acyclic Graph,DAG)。数据流向图可以包括与N个对象标识各自对应的对象节点和N个对象节点之间的有向边。对象节点可以用于表征子程序任务。子程序任务可以指程序代码段。有向边可以用于表征子程序任务之间的依赖关系。依赖关系可以指在前置子程序任务执行成功的情况下,目标子程序任务才可以执行。
根据本公开的实施例,可以根据与对象标识对应的对象信息、对象校验结果和关联关系信息,构建与对象标识对应的对象节点和有向边。对象节点可以包括以下至少之一:目标对象节点和关联对象节点。在此基础上,可以根据与对象标识对应的对象节点和有向边,生成数据流向图。
根据本公开的实施例,在获得数据流向图之后,可以根据数据流向图,确定与待评估程序对应的程序评估结果。程序评估结果可以包括与N个对象标识各自对应的对象评估结果。对象评估结果可以用于表征与对象标识对应的对象数据是否通过评估。
根据本公开的实施例,由于数据流向图是根据与待评估程序对应的血缘关系、对象信息和程序校验结果生成的,对象信息是根据血缘关系获取的,程序校验结果是根据血缘关系中的关联关系信息和对象信息确定的,因而数据流向图中的有向边能够表征每两个对象节点之间的数据依赖关系。在此基础上,通过根据数据流向图,确定与待评估程序对应的程序评估结果,至少部分地克服了相关技术中无法保障Hive程序分析的效率和准确性的技术问题,由于程序评估结果是根据数据流向图自动确定的,因而提高了程序评估的效率,由于数据流向图是根据与待评估程序对应的血缘关系、对象信息和程序校验结果自动生成的,因而提高了程序评估的准确性。
下面参考图3~图8,对根据本发明实施例的程序评估方法200做进一步说明。
根据本公开的实施例,操作S210可以包括如下操作。
根据N个对象标识,确定与N个对象标识各自对应的存储路径信息。调用目标接口,根据与N个对象标识各自对应的存储路径信息,从数据湖中获取N个对象信息。
根据本公开的实施例,与待评估程序对应的项目可以具有开发环境(即development)、生产环境(即production)和测试环境(即test)。可以在项目的根目录下创建与开发环境对应的开发环境文件、与生产环境对应的生产环境文件和与测试环境对应的测试环境文件。
根据本公开的实施例,可以通过选择目标环境,确定与目标环境对应的目标环境文件。根据待评估程序中的N个对象标识,分别确定与N个对象标识各自对应的存储路径信息。根据目标环境文件,确定目标接口。在此基础上,可以调用目标接口,根据存储路径信息,从数据湖中获取N个对象标识各自对应的对象信息。对象信息可以包括对象数据、时间信息和校验规则中的至少之一。
图3示意性示出了根据本公开实施例的根据与待评估程序对应的血缘关系,获取与血缘关系中的N个对象标识各自对应的对象信息过程的示例示意图。
如图3所示,在300中,可以根据对象标识301,确定与对象标识301对应的存储路径信息302。调用目标接口303,根据存储路径信息302,从数据湖中获取对象信息304。
图4示意性示出了根据本公开实施例的根据血缘关系中的关联关系信息和N个对象信息,确定程序校验结果方法的流程图。
如图4所示,该方法400可以包括操作S421~S426。
在操作S421,根据关联关系信息,确定关联对象标识。
在操作S422,根据关联对象标识,确定关联对象信息,其中,关联对象信息包括关联对象数据和关联时间信息。
在操作S423,根据时间信息和关联时间信息,确定与对象标识对应的查询规模信息。
在操作S424,根据查询规模信息,对血缘关系进行校验,得到校验结果。
在校验结果表征血缘关系存在异常的情况下,可以执行操作S425。在操作S425,确定表征对象数据未通过评估的对象校验结果。
在校验结果表征血缘关系正常的情况下,可以执行操作S426。在操作S426,确定表征对象数据通过评估的对象校验结果。
根据本公开的实施例,对象信息可以包括对象数据和时间信息。程序校验结果可以包括与N个对象标识各自对应的对象校验结果。
根据本公开的实施例,与对象标识A对应的对象信息可以包括对象数据a1和时间信息a2。在获得与N个对象标识各自对应的对象信息之后,可以根据与对象标识对应的关联关系信息,确定关联对象标识。例如,与对象标识A对应的关联关系信息可以包括对象标识A->对象标识B、对象标识A->对象标识C,在此情况下,可以确定关联对象标识包括对象标识B和对象标识C。
根据本公开的实施例,在获得关联对象标识之后,可以根据关联对象标识,确定关联对象信息。关联对象信息可以包括关联对象数据和关联时间信息。例如,与对象标识B对应的关联对象信息可以包括关联对象数据b1和关联时间信息b2。与对象标识C对应的关联对象信息可以包括关联对象数据c1和关联时间信息c2。
根据本公开的实施例,在获得关联对象信息之后,可以根据时间信息和关联时间信息,确定与对象标识对应的查询规模信息。查询规模信息可以用于表征每次关联动作的查询数据量大小。例如,可以根据对象数据a1、关联对象数据b1和关联对象数据c1,确定查询规模信息。查询规模信息的确定方式可以根据实际业务需求进行设置,在此不作限定。例如,可以确定时间信息和关联时间信息的累加值,根据累加值确定查询规模信息。备选地,可以根据预定系数对时间信息和关联时间信息进行加权处理,得到查询规模信息。
根据本公开的实施例,在获得查询规模信息之后,可以根据查询规模信息,对血缘关系进行校验,得到校验结果。校验结果可以用于表征血缘关系是否存在异常。例如,可以通过判断关联条件是否产生数据膨胀来确定血缘关系是否存在异常。
根据本公开的实施例,操作S422可以包括如下操作。
根据关联对象标识,确定候选关联对象信息,其中,候选关联对象信息包括候选关联对象数据和候选关联时间信息。根据校验规则,对候选关联对象数据进行完整性校验,得到完整性校验结果。响应于完整性校验结果表征候选关联对象数据通过完整性校验,将候选关联对象信息确定为关联对象信息。
根据本公开的实施例,对象信息还可以包括校验规则。
根据本公开的实施例,可以根据对象信息中的校验规则对候选关联对象数据进行完整性校验。校验规则可以包括以下至少之一:类型校验规则和字段校验规则。完整性校验可以包括以下至少之一:数据类型校验和数据完整性校验。可以根据类型校验规则对候选关联对象数据进行数据类型校验,得到数据类型校验结果。在数据类型校验结果表征数据类型校验通过的情况下,可以根据字段校验规则对候选关联对象数据进行数据完整性校验,得到完整性校验结果。
根据本公开的实施例,由于对象校验结果是通过根据与对象标识对应的查询规模信息对血缘关系进行校验得到的,查询规模信息是是根据对象信息中的时间信息和关联对象信息中的关联时间信息确定的,关联对象信息是通过对候选关联对象数据进行完整性校验确定的,因而实现了对象校验结果的自动确定。在此基础上,由于程序校验结果包括与N个对象标识各自对应的对象校验结果,因而提高了程序校验结果确定的效率。
图5示意性示出了根据本公开实施例的根据关联对象标识,确定关联对象信息过程的示例示意图。
如图5所示,在500中,可以根据关联对象标识501,确定候选关联对象信息502。候选关联对象信息502可以包括候选关联对象数据5021和候选关联时间信息5022。
可以根据校验规则503,对候选关联对象数据5021进行完整性校验,得到完整性校验结果504。响应于完整性校验结果504表征候选关联对象数据5021通过完整性校验,可以将候选关联对象信息502确定为关联对象信息505。
根据本公开的实施例,操作S230可以包括如下操作。
根据对象信息和对象校验结果,构建与对象标识对应的对象节点。根据关联关系信息,构建与对象标识对应的有向边。根据与对象标识对应的对象节点和有向边,生成数据流向图。
根据本公开的实施例,数据流向图可以包括与N个对象标识各自对应的对象节点和N个对象节点之间的有向边。对象节点可以用于表征子程序任务。子程序任务可以指程序代码段。有向边可以用于表征子程序任务之间的依赖关系。数据流向图可以用于展示与待评估程序对应的数据加工流程。
根据本公开的实施例,由于数据流向图是根据与对象标识对应的对象节点和有向边生成的,对象节点是根据与对象标识对应的对象信息和对象校验结果构建的,有向边是根据关联关系信息构建的,有利于后续能够基于有向无环图原理,对待评估程序进行评估,由此提高了程序评估的准确性。
图6示意性示出了根据本公开实施例的根据血缘关系、N个对象信息和程序校验结果,生成数据流向图过程的示例示意图。
如图6所示,在600中,针对N个对象标识601中的每个对象标识601,可以根据与对象标识601对应的对象信息603和对象校验结果604,构建与对象标识601对应的对象节点605。可以根据关联关系信息602,构建与对象标识601对应的有向边606。
在此基础上,可以根据与对象标识601对应的对象节点605和有向边606,生成数据流向图607。
根据本公开的实施例,操作S240可以包括如下操作。
确定与对象标识对应的目标对象节点、M个关联对象节点和P条目标有向边,其中,M和P均为正整数。根据预设评估规则,对与目标对象节点对应的目标对象数据和与M个关联对象节点各自对应的关联对象数据进行评估。在确定目标对象数据和M个关联对象数据中存在异常数据的情况下,得到表征对象数据未通过评估的对象评估结果。在确定目标对象数据和M个关联对象数据均为正常数据的情况下,得到表征对象数据通过评估的对象评估结果。
根据本公开的实施例,程序评估结果可以包括与N个对象标识各自对应的对象评估结果。
根据本公开的实施例,与N个对象标识各自对应的对象评估结果可以具有对象评估类型。对象评估类型可以包括以下至少之一:前置筛查逻辑评估、无效字段评估、待优化子查询规模评估、无主键关联环节评估、结构化查询语言评估、笛卡尔积评估、分区表评估、语句使用评估、执行耗时评估和磁盘占用量评估。
图7示意性示出了根据本公开实施例的根据数据流向图,确定与待评估程序对应的程序评估结果过程的示例示意图。
如图7所示,在700中,针对N个对象标识701中的每个对象标识701,可以确定与对象标识701对应的目标对象节点702、M个关联对象节点703和P条目标有向边704。
根据预设评估规则707,对与目标对象节点702对应的目标对象数据705和与M个关联对象节点703各自对应的关联对象数据706进行评估。
在操作S710,确定目标对象数据和M个关联对象数据中存在异常数据?
若是,则可以得到表征对象数据未通过评估的对象评估结果708。
若否,则可以得到表征对象数据通过评估的对象评估结果709。
根据本公开的实施例,程序评估方法200还可以包括如下操作。
在与对象标识对应的对象评估结果表征对象数据未通过评估的情况下,利用目标对象节点、M个关联对象节点和P条目标有向边,基于第一预定模式展示对象评估结果。在与对象标识对应的对象评估结果表征对象数据通过评估的情况下,利用目标对象节点、M个关联对象节点和P条目标有向边,基于第二预定模式展示对象评估结果。
根据本公开的实施例,在与对象标识对应的对象评估结果表征对象数据未通过评估的情况下,可以基于第一预定模式展示对象评估结果和程序优化建议。第一预定模式可以根据实际业务需求进行设置,在此不作限定。例如,第一预定模式可以包括第一预定颜色和/或第一预定图标。
根据本公开的实施例,以对象评估类型为结构化查询语言评估为例,可以利用第一预定颜色展示结构化查询语言中包括的可拆分关联表。备选地,可以利用第一预定图标标识出复杂可以拆分的结构化查询语言。
根据本公开的实施例,以对象评估类型为语句使用评估为例,可以利用第一预定图标标识出对象数据中的nuion all语句,并利用第一预定颜色展示将nuion all语句变换为insert into临时表的形式。
根据本公开的实施例,以对象评估类型为执行耗时评估为例,可以利用第一预定图标标识出对象数据中的COUNT(DISTINCT)以及整体执行过程中最耗时的步骤,并利用第一预定颜色展示能够启用本地模式或者并行模式执行的加工步骤。
根据本公开的实施例,以对象评估类型为磁盘占用量评估为例,可以利用第一预定颜色展示加工完成的数据表在HDFS存储系统中的磁盘占用量估算。备选地,可以利用第一预定图标标识出磁盘占用量估算。
根据本公开的实施例,在与对象标识对应的对象评估结果表征对象数据通过评估的情况下,可以基于第二预定模式展示对象评估结果。第二预定模式可以根据实际业务需求进行设置,在此不作限定。例如,第二预定模式可以包括第二预定颜色和/或第二预定图标。
根据本公开的实施例,由于对象评估结果是根据预设评估规则,对与目标对象节点对应的目标对象数据和与M个关联对象节点各自对应的关联对象数据进行评估得到的,因而能够使得开发者在缺少硬件资源和测试数据支持的情况下完成前期自测阶段的程序验证,由此降低了开发成本,缩短了研发流程。在此基础上,通过基于预定模式展示对象评估结果,因而有助于开发者优化后续的加工链路设计和编码优化细节,由此提高了待评估程序的评估效率。
根据本公开的实施例,程序评估方法200还可以包括如下操作。
响应于接收到程序评估请求,获取程序评估请求指示的待评估程序。对待评估程序进行解析处理,得到N个对象标识和关联关系信息。根据N个对象标识和关联关系信息,确定血缘关系。
根据本公开的实施例,可以将生成程序评估请求的代码预先写入脚本中,响应于检测到目标用户利用用户终端进行的程序评估操作,目标终端可以运行该脚本,生成程序评估请求报文,并可以将程序评估请求报文发送至服务器,以便于服务器根据该程序评估请求报文对与程序评估操作对应的待评估程序进行评估。
根据本公开的实施例,服务器在接收到程序评估请求之后,可以获取程序评估请求指示的待评估程序。通过对待评估程序进行解析处理,得到待评估程序包括的N个对象标识和关联关系信息。N个对象标识可以各自对应有程序代码段。关联关系信息可以用于表征与N个对象标识各自对应的程序代码段之间的关联关系。在获得N个对象标识和关联关系信息之后,可以根据N个对象标识和关联关系信息,确定血缘关系。
图8示意性示出了根据本公开实施例的程序评估过程的示例示意图。
如图8所示,在800中,响应于接收到程序评估请求801,可以获取程序评估请求801指示的待评估程序802。对待评估程序801进行解析处理,得到N个对象标识8031和关联关系信息8032。可以根据N个对象标识8031和关联关系信息8032,确定血缘关系804。
可以根据与待评估程序802对应的血缘关系804中的N个对象标识8031,获取N个对象信息805。根据血缘关系804和N个对象信息805,确定程序校验结果806。
根据N个对象标识各自对应的对象信息805和程序校验结果806,构建对象节点807。根据关联关系信息8032,构建有向边808。根据对象节点807和有向边808,生成数据流向图809。根据数据流向图809,确定与待评估程序802对应的程序评估结果810。
以上仅是示例性实施例,但不限于此,还可以包括本领域已知的其他程序评估方法,只要能够提高程序评估的效率和准确性即可。
图9示意性示出了根据本公开实施例的程序评估装置的框图。
如图9所示,程序评估装置900可以包括第一获取模块910、第一确定模块920、生成模块930和第二确定模块940。
第一获取模块910,用于根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息。N为正整数。
第一确定模块920,用于根据血缘关系中的关联关系信息和N个对象信息,确定程序校验结果。
生成模块930,用于根据血缘关系、N个对象信息和程序校验结果,生成数据流向图,其中,数据流向图包括与N个对象标识各自对应的对象节点和N个对象节点之间的有向边。
第二确定模块940,用于根据数据流向图,确定与待评估程序对应的程序评估结果。
根据本公开的实施例,第一获取模块910可以包括第一确定单元和第一获取单元。
第一确定单元,用于根据N个对象标识,确定与N个对象标识各自对应的存储路径信息。
第一获取单元,用于调用目标接口,根据与N个对象标识各自对应的存储路径信息从数据湖中获取N个对象信息。
根据本公开的实施例,对象信息包括对象数据和时间信息,程序校验结果包括与N个对象标识各自对应的对象校验结果。
根据本公开的实施例,第一确定模块920可以包括第二确定单元、第三确定单元、第四确定单元、校验单元、第五确定单元和第六确定单元。
第二确定单元,用于根据关联关系信息,确定关联对象标识。
第三确定单元,用于根据关联对象标识,确定关联对象信息,其中,关联对象信息包括关联对象数据和关联时间信息。
第四确定单元,用于根据时间信息和关联时间信息,确定与对象标识对应的查询规模信息。
校验单元,用于根据查询规模信息,对血缘关系进行校验,得到校验结果。
第五确定单元,用于在校验结果表征血缘关系存在异常的情况下,确定表征对象数据未通过评估的对象校验结果。
第六确定单元,用于在校验结果表征血缘关系正常的情况下,确定表征对象数据通过评估的对象校验结果。
根据本公开的实施例,对象信息还包括校验规则。
根据本公开的实施例,第三确定单元可以包括第一确定子单元、完整性校验子单元和第二确定子单元。
第一确定子单元,用于根据关联对象标识,确定候选关联对象信息,其中,候选关联对象信息包括候选关联对象数据和候选关联时间信息。
完整性校验子单元,用于根据校验规则,对候选关联对象数据进行完整性校验,得到完整性校验结果。
第二确定子单元,用于响应于完整性校验结果表征候选关联对象数据通过完整性校验,将候选关联对象信息确定为关联对象信息。
根据本公开的实施例,生成模块930可以包括第一构建单元、第二构建单元和生成单元。
第一构建单元,用于根据对象信息和对象校验结果,构建与对象标识对应的对象节点。
第二构建单元,用于根据关联关系信息,构建与对象标识对应的有向边。
生成单元,用于根据与对象标识对应的对象节点和有向边,生成数据流向图。
根据本公开的实施例,程序评估结果包括与N个对象标识各自对应的对象评估结果。
根据本公开的实施例,第二确定模块940可以包括第七确定单元、评估单元、第八确定单元和第九确定单元。
第七确定单元,用于确定与对象标识对应的目标对象节点、M个关联对象节点和P条目标有向边。
评估单元,用于根据预设评估规则,对与目标对象节点对应的目标对象数据和与M个关联对象节点各自对应的关联对象数据进行评估。
第八确定单元,用于在确定目标对象数据和M个关联对象数据中存在异常数据的情况下,得到表征对象数据未通过评估的对象评估结果。
第九确定单元,用于在确定目标对象数据和M个关联对象数据均为正常数据的情况下,得到表征对象数据通过评估的对象评估结果。
根据本公开的实施例,程序评估装置900还可以包括第一展示模块和第二展示模块。
第一展示模块,用于在与对象标识对应的对象评估结果表征对象数据未通过评估的情况下,利用目标对象节点、M个关联对象节点和P条目标有向边,基于第一预定模式展示对象评估结果。
第二展示模块,用于在与对象标识对应的对象评估结果表征对象数据通过评估的情况下,利用目标对象节点、M个关联对象节点和P条目标有向边,基于第二预定模式展示对象评估结果。
根据本公开的实施例,程序评估装置900还可以包括第二获取模块、解析处理模块和第三确定模块。
第二获取模块,用于响应于接收到程序评估请求,获取程序评估请求指示的待评估程序。
解析处理模块,用于对待评估程序进行解析处理,得到N个对象标识和关联关系信息。
第三确定模块,用于根据N个对象标识和关联关系信息,确定血缘关系。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块910、第一确定模块920、生成模块930和第二确定模块940中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一获取模块910、第一确定模块920、生成模块930和第二确定模块940中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块910、第一确定模块920、生成模块930和第二确定模块940中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中程序评估装置部分与本公开的实施例中程序评估方法部分是相对应的,程序评估装置部分的描述具体参考程序评估方法部分,在此不再赘述。
图10示意性示出了根据本公开实施例的适于实现程序评估方法的电子设备的框图。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,根据本公开实施例的计算机电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1009加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至输入/输出(I/O)接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至输入/输出(I/O)接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM 1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的程序评估方法。
在该计算机程序被处理器1001执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种程序评估方法,包括:
根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息,其中,N为正整数;
根据所述血缘关系中的关联关系信息和所述N个对象信息,确定程序校验结果;
根据所述血缘关系、所述N个对象信息和所述程序校验结果,生成数据流向图,其中,所述数据流向图包括与所述N个对象标识各自对应的对象节点和N个对象节点之间的有向边;以及
根据所述数据流向图,确定与所述待评估程序对应的程序评估结果。
2.根据权利要求1所述的方法,其中,所述根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息包括:
根据所述N个对象标识,确定与所述N个对象标识各自对应的存储路径信息;以及
调用目标接口,根据与所述N个对象标识各自对应的存储路径信息,从数据湖中获取所述N个对象信息。
3.根据权利要求1所述的方法,其中,所述对象信息包括对象数据和时间信息,所述程序校验结果包括与所述N个对象标识各自对应的对象校验结果;
所述根据所述血缘关系中的关联关系信息和所述N个对象信息,确定程序校验结果包括:
根据所述关联关系信息,确定关联对象标识;
根据所述关联对象标识,确定关联对象信息,其中,所述关联对象信息包括关联对象数据和关联时间信息;
根据时间信息和所述关联时间信息,确定与所述对象标识对应的查询规模信息;
根据所述查询规模信息,对所述血缘关系进行校验,得到校验结果;
在所述校验结果表征所述血缘关系存在异常的情况下,确定表征所述对象数据未通过评估的所述对象校验结果;以及
在所述校验结果表征所述血缘关系正常的情况下,确定表征所述对象数据通过评估的所述对象校验结果。
4.根据权利要求3所述的方法,其中,所述对象信息还包括校验规则;
所述根据所述关联对象标识,确定关联对象信息包括:
根据所述关联对象标识,确定候选关联对象信息,其中,所述候选关联对象信息包括候选关联对象数据和候选关联时间信息;
根据所述校验规则,对所述候选关联对象数据进行完整性校验,得到完整性校验结果;以及
响应于所述完整性校验结果表征所述候选关联对象数据通过完整性校验,将所述候选关联对象信息确定为所述关联对象信息。
5.根据权利要求1至4中任一项所述的方法,其中,所述根据所述血缘关系、所述N个对象信息和所述程序校验结果,生成数据流向图包括:
根据所述对象信息和所述对象校验结果,构建与所述对象标识对应的对象节点;
根据所述关联关系信息,构建与所述对象标识对应的有向边;以及
根据所述与对象标识对应的所述对象节点和所述有向边,生成所述数据流向图。
6.根据权利要求1至4中任一项所述的方法,其中,所述程序评估结果包括与所述N个对象标识各自对应的对象评估结果;
所述根据所述数据流向图,确定与所述待评估程序对应的程序评估结果包括:
确定与所述对象标识对应的目标对象节点、M个关联对象节点和P条目标有向边,其中,M和P均为正整数;
根据预设评估规则,对与所述目标对象节点对应的目标对象数据和与所述M个关联对象节点各自对应的关联对象数据进行评估;
在确定所述目标对象数据和所述M个关联对象数据中存在异常数据的情况下,得到表征所述对象数据未通过评估的所述对象评估结果;以及
在确定所述目标对象数据和所述M个关联对象数据均为正常数据的情况下,得到表征所述对象数据通过评估的所述对象评估结果。
7.根据权利要求6所述的方法,还包括,在所述根据所述数据流向图,确定与所述待评估程序对应的程序评估结果之后:
在与所述对象标识对应的所述对象评估结果表征所述对象数据未通过评估的情况下,利用所述目标对象节点、所述M个关联对象节点和所述P条目标有向边,基于第一预定模式展示所述对象评估结果;以及
在与所述对象标识对应的所述对象评估结果表征所述对象数据通过评估的情况下,利用所述目标对象节点、所述M个关联对象节点和所述P条目标有向边,基于第二预定模式展示所述对象评估结果。
8.根据权利要求1至4中任一项所述的方法,还包括,在所述根据与待评估程序对应的血缘关系中的N个对象标识,获取与所述血缘关系中的N个对象标识各自对应的对象信息之前:
响应于接收到程序评估请求,获取所述程序评估请求指示的所述待评估程序;
对所述待评估程序进行解析处理,得到所述N个对象标识和所述关联关系信息;以及
根据所述N个对象标识和所述关联关系信息,确定所述血缘关系。
9.一种程序评估装置,包括:
第一获取模块,用于根据与待评估程序对应的血缘关系中的N个对象标识,获取N个对象信息,其中,N为正整数;
第一确定模块,用于根据所述血缘关系中的关联关系信息和所述N个对象信息,确定程序校验结果;
生成模块,用于根据所述血缘关系、所述N个对象信息和所述程序校验结果,生成数据流向图,其中,所述数据流向图包括与所述N个对象标识各自对应的对象节点和N个对象节点之间的有向边;以及
第二确定模块,用于根据所述数据流向图,确定与所述待评估程序对应的程序评估结果。
10.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个指令,
其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令被处理器执行时使处理器实现权利要求1至8中任一项所述的方法。
12.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令在被执行时用于实现权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310456748.1A CN116483888A (zh) | 2023-04-25 | 2023-04-25 | 程序评估方法及装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310456748.1A CN116483888A (zh) | 2023-04-25 | 2023-04-25 | 程序评估方法及装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116483888A true CN116483888A (zh) | 2023-07-25 |
Family
ID=87217416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310456748.1A Pending CN116483888A (zh) | 2023-04-25 | 2023-04-25 | 程序评估方法及装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483888A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131791A (zh) * | 2023-10-27 | 2023-11-28 | 德特赛维技术有限公司 | 一种基于大数据平台的模型评估方法、系统和存储介质 |
-
2023
- 2023-04-25 CN CN202310456748.1A patent/CN116483888A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131791A (zh) * | 2023-10-27 | 2023-11-28 | 德特赛维技术有限公司 | 一种基于大数据平台的模型评估方法、系统和存储介质 |
CN117131791B (zh) * | 2023-10-27 | 2024-01-23 | 德特赛维技术有限公司 | 一种基于大数据平台的模型评估方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210182031A1 (en) | Methods and apparatus for automatic detection of software bugs | |
CN113032244B (zh) | 接口测试方法、装置、计算机系统和计算机可读存储介质 | |
CN110532185B (zh) | 测试方法、装置、电子设备和计算机可读存储介质 | |
US20210073107A1 (en) | Testing source code changes | |
CN112817831A (zh) | 应用性能监测方法、装置、计算机系统和可读存储介质 | |
US20150339219A1 (en) | Resilient mock object creation for unit testing | |
CN113535577B (zh) | 基于知识图谱的应用测试方法、装置、电子设备和介质 | |
CN116483888A (zh) | 程序评估方法及装置、电子设备和计算机可读存储介质 | |
CN114116509A (zh) | 程序分析方法、装置、电子设备和存储介质 | |
CN113032256A (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
US11347533B2 (en) | Enhanced virtual machine image management system | |
CN116401113B (zh) | 一种异构众核架构加速卡的环境验证方法、装置及介质 | |
CN116166547A (zh) | 代码变更范围分析方法、装置、设备、存储介质 | |
CN115809193A (zh) | 前端逆向异常数据健壮性检测方法、装置及存储介质 | |
CN111694729B (zh) | 应用测试方法、装置、电子设备和计算机可读介质 | |
CN115033489A (zh) | 代码资源检测方法、装置、电子设备及存储介质 | |
CN113535568A (zh) | 应用部署版本的验证方法、装置、设备和介质 | |
CN113448822A (zh) | 测试方法、装置、计算机可读介质及电子设备 | |
CN112068814A (zh) | 可执行文件的生成方法、装置、系统及介质 | |
CN112817573B (zh) | 用于构建流式计算应用的方法、装置、计算机系统和介质 | |
CN116894004A (zh) | 信息展示方法及装置、电子设备和计算机可读存储介质 | |
CN114817036A (zh) | 决策树测试方法、装置、电子设备和存储介质 | |
CN118394659A (zh) | 多数据库场景自动化测试方法、装置、设备、介质和产品 | |
CN117435464A (zh) | 软件测试方法及装置、电子设备和计算机可读存储介质 | |
CN114840435A (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 |