CN117573237A - 校验结果的确定方法、装置、存储介质及电子装置 - Google Patents
校验结果的确定方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN117573237A CN117573237A CN202311354842.2A CN202311354842A CN117573237A CN 117573237 A CN117573237 A CN 117573237A CN 202311354842 A CN202311354842 A CN 202311354842A CN 117573237 A CN117573237 A CN 117573237A
- Authority
- CN
- China
- Prior art keywords
- matching
- function
- algorithm
- determining
- value
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 187
- 230000006870 function Effects 0.000 claims description 176
- 239000013598 vector Substances 0.000 claims description 91
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种校验结果的确定方法、装置、存储介质及电子装置,涉及智慧家庭技术领域,该校验结果的确定方法包括:响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果,采用上述技术方案,解决了如何确定出业务函数被调用时的校验结果的问题。
Description
技术领域
本申请涉及智慧家庭技术领域,具体而言,涉及一种校验结果的确定方法、装置、存储介质及电子装置。
背景技术
目前,在软件开发过程中需要调用不同的函数,在函数调用过程中,可能收到不同类型、格式或者取值范围外的参数输入,可能导致函数的参数类型调用错误,或者参数顺序显示错误等调用问题,虽然已经可以通过检查数据类型,检查非空字段,验证格式以及限制参数取值范围等方法对函数使用的参数进行校验,但是,这种方法并不能对相似度较高的参数类型进行校验。
因此,相关技术中,存在如何确定出业务函数被调用时的校验结果的问题。
针对相关技术中,如何确定出业务函数被调用时的校验结果的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种校验结果的确定方法、装置、存储介质及电子装置,以至少解决相关技术中,如何确定出业务函数被调用时的校验结果的问题。
根据本申请实施例的一个实施例,提供了一种校验结果的确定方法,包括:响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果。
在一个示例性实施例中,在从函数模块中获取所述调用指令指示的业务函数之前,所述方法还包括:接收所述目标对象的新建指令,从所述新建指令中获取待建立函数的第一函数名称以及所述第一函数名称对应的业务类型;将所述第一函数名称设置为业务函数的第二函数名称,将所述第一函数名称对应的业务类型设置为所述业务函数的业务类型,在所述函数模块内生成所述业务函数。
在一个示例性实施例中,从预设算法库内获取目标匹配算法,包括:确定出所述预设算法库内所有匹配算法的使用次数;从所述所有匹配算法中获取具有最大使用次数的第一匹配算法;在确定所述第一匹配算法的使用时间晚于其他匹配算法的使用时间的情况下,将所述第一匹配算法确定为所述目标匹配算法,其中,所述其他匹配算法为所述所有匹配算法中除了所述第一匹配算法的匹配算法。
在一个示例性实施例中,从预设算法库内获取目标匹配算法,包括:确定出已经与所述业务函数绑定的算法类型所对应的第二匹配算法;在确定所述预设算法库内不存在所述第二匹配算法的情况下,在所述预设算法库内新增所述第二匹配算法;在确定所述预设算法库内新增所述第二匹配算法成功的情况下,将所述第二匹配算法确定为所述目标匹配算法;向所述目标对象发送通知信息,其中,所述通知信息用于通知所述目标对象所述预设算法库内已增加所述第二匹配算法。
在一个示例性实施例中,使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值,包括:获取所述形参信息对应的第一字符串和所述实参信息对应的第二字符串;通过将所述第一字符串的所有字段设置为第一集合元素,生成第一字符串集合,以及将所述第二字符串的所有字段设置为第二集合元素,生成第二字符串集合;使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配,得到匹配值。
在一个示例性实施例中,使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配,得到匹配值,包括:分别对所述第一字符串集合和所述第二字符串集合进行向量化,得到第一向量数组和第二向量数组;在确定所述第一向量数组的向量维度与所述第二向量数组的向量维度一致的情况下,使用余弦函数计算所述第一向量数组和所述第二向量数组之间的夹角余弦值,并将所述夹角余弦值确定为所述匹配值。
在一个示例性实施例中,根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果,包括:在确定所述比较结果指示所述匹配值不大于所述预设阈值的情况下,确定所述业务函数的校验结果为校验通过,向所述目标对象发送用于提示校验通过的第一提示消息;在确定所述比较结果指示所述匹配值大于所述预设阈值的情况下,确定所述业务函数的校验结果为校验不通过,向所述目标对象发送用于提示校验不通过的第二提示消息。
根据本申请实施例的另一方面,还提供了一种校验结果的确定装置,包括:响应模块,用于响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;匹配模块,用于从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;确定模块,用于根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述校验结果的确定方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的校验结果的确定方法。
在本申请实施例中,响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果;采用上述技术方案,可以解决如何确定出业务函数被调用时的校验结果的问题,进而能够确定业务函数被调用时的校验结果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种校验结果的确定方法的硬件环境示意图;
图2是根据本申请实施例的校验结果的确定方法的流程图;
图3是根据本申请实施例的一种编译器的结构示意图;
图4是根据本申请实施例的电商系统的示意图;
图5是根据本申请实施例的一种校验结果的确定方法的流程示意图;
图6是根据本申请实施例的一种校验结果的确定装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种校验结果的确定方法。该校验结果的确定方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(Intelligence House)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述校验结果的确定方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
在本实施例中提供了一种校验结果的确定方法,应用于上述终端设备,图2是根据本申请实施例的校验结果的确定方法的流程图,该流程包括如下步骤:
步骤S202,响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;
步骤S204,从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;
其中,上述实参信息可以理解为业务函数被使用时的实参信息。
步骤S206,根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果。
通过上述步骤,响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果,解决了相关技术中,如何确定出业务函数被调用时的校验结果的问题,进而能够确定业务函数被调用时的校验结果。
在一个示例性实施例中,在执行上述步骤S202从函数模块中获取所述调用指令指示的业务函数的技术方案之前,提出了一种生成业务函数的实现方案,具体步骤包括:接收所述目标对象的新建指令,从所述新建指令中获取待建立函数的第一函数名称以及所述第一函数名称对应的业务类型;将所述第一函数名称设置为业务函数的第二函数名称,将所述第一函数名称对应的业务类型设置为所述业务函数的业务类型,在所述函数模块内生成所述业务函数。
在一个示例性实施例中,上述步骤204中从预设算法库内获取目标匹配算法的具体实现过程,可以包括如下实现步骤:步骤S11,确定出所述预设算法库内所有匹配算法的使用次数;步骤S12,从所述所有匹配算法中获取具有最大使用次数的第一匹配算法;步骤S13,在确定所述第一匹配算法的使用时间晚于其他匹配算法的使用时间的情况下,将所述第一匹配算法确定为所述目标匹配算法,其中,所述其他匹配算法为所述所有匹配算法中除了所述第一匹配算法的匹配算法。
在一个示例性实施例中,进一步的,还提出了其他用于实现上述步骤S204从预设算法库内获取目标匹配算法的技术方案,具体步骤如下:步骤S21,确定出已经与所述业务函数绑定的算法类型所对应的第二匹配算法;步骤S22,在确定所述预设算法库内不存在所述第二匹配算法的情况下,在所述预设算法库内新增所述第二匹配算法;步骤S23,在确定所述预设算法库内新增所述第二匹配算法成功的情况下,将所述第二匹配算法确定为所述目标匹配算法;步骤S24,向所述目标对象发送通知信息,其中,所述通知信息用于通知所述目标对象所述预设算法库内已增加所述第二匹配算法。
或者,在确定所述预设算法库内存在所述第二匹配算法的情况下,直接将所述第二匹配算法确定为所述目标匹配算法即可。
在一个示例性实施例中,为了对上述步骤S204中如何使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值的过程进行更好的理解,结合以下技术方案进行进一步说明,具体包括:获取所述形参信息对应的第一字符串和所述实参信息对应的第二字符串;通过将所述第一字符串的所有字段设置为第一集合元素,生成第一字符串集合,以及将所述第二字符串的所有字段设置为第二集合元素,生成第二字符串集合;使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配,得到匹配值。
其中,在使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配的过程中,第一字符串集合的元素和第二字符串集合的元素为一一对应。且在第一字符串集合的元素个数与第二字符串集合的元素个数不一致的情况下,对第一字符串集合的元素个数与第二字符串集合的元素个数进行统一,对于统一的方法,例如可以取第一字符串集合的元素个数与第二字符串集合的元素个数的并集的元素个数,并在第一字符串集合的元素个数或者第二字符串集合的元素个数小于并集的元素个数的情况下,在第一字符串集合或者第二字符串集合中新增零元素以将第一字符串集合的元素个数或者第二字符串集合的元素个数补足至等于并集的元素个数。
在一个示例性实施例中,进一步的,提出一种具体实现使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配,得到匹配值的方案,具体步骤为:分别对所述第一字符串集合和所述第二字符串集合进行向量化,得到第一向量数组和第二向量数组;在确定所述第一向量数组的向量维度与所述第二向量数组的向量维度一致的情况下,使用余弦函数计算所述第一向量数组和所述第二向量数组之间的夹角余弦值,并将所述夹角余弦值确定为所述匹配值。
进一步的,在使用余弦函数计算所述第一向量数组和所述第二向量数组之间的夹角余弦值之前,还可以在确定所述第一向量数组的向量维度与所述第二向量数组的向量维度不一致的情况下,如果确定所述第一向量数组的向量维度大于所述第二向量数组的向量维度,则在所述第二向量数组新增向量,以使所述第二向量数组的向量维度等于所述第一向量数组的向量维度;或者,确定所述第一向量数组的向量维度小于所述第二向量数组的向量维度,则在所述第一向量数组新增向量,以使所述第一向量数组的向量维度等于所述第二向量数组的向量维度。
在一个示例性实施例中,对于上述步骤S206中根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果的实现过程,具体提出以下步骤:步骤S31,在确定所述比较结果指示所述匹配值不大于所述预设阈值的情况下,确定所述业务函数的校验结果为校验通过,向所述目标对象发送用于提示校验通过的第一提示消息;步骤S32,在确定所述比较结果指示所述匹配值大于所述预设阈值的情况下,确定所述业务函数的校验结果为校验不通过,向所述目标对象发送用于提示校验不通过的第二提示消息。
其中,所述第二提示消息包括所述业务函数的形参信息和所述业务函数的实参信息之间的匹配值,便于所述目标对象对所述业务函数的实参信息进行检查
为了更好的理解上述校验结果的确定方法的过程,以下再结合可选实施例对上述校验结果的确定的实现方法流程进行说明,但不用于限定本申请实施例的技术方案。
一般而言,在软件系统的开发过程中,往往将软件系统拆分为多个模块,可以将多个相关接口组合成同一模块,并通过调用接口来从其他模块获取服务或信息。以电商系统为例,如图4所示,可以将电商系统分解为8大模块,包括促销模块,客户模块,订单模块,库存模块等。其中,客户模块用于实现客户信息的管理,客户信息包括会员资格,权限,密码,消息订阅等。促销模块用于实现销售活动的管理,包括各种促销活动、优惠券管理、关联推荐等。在本实施例中,结合图5,以及客户模块和促销模块之间的函数调用过程对上述校验结果的确定方法进行说明。
图5是根据本申请实施例的一种校验结果的确定方法的流程示意图,在图5中,假定“客户模块”(即上述函数模块)中包含用于获取会员列表的接口函数(相当于上述业务函数)MemberList GetMemberList(String country,String city),接口函数需要传入两个参数,都是字符串类型。第一个参数是country,表示国家。第二个参数是city,表示城市,接口函数的功能是根据参数country,city返回所有用户的列表。
在图5中,开发工具表示为软件开发人员使用的集成开发环境,用于为开发人员提供编辑,调试等开发功能;编译器为编程语言的编译核心模块;匹配算法引擎用于计算函数定义与函数调用的匹配度,根据匹配度来判断本次调用的逻辑合理性。匹配算法库包含余弦值算法、欧氏距离算法、Jaccard算法、simhash算法等众多匹配度算法。匹配度算法可以计算两两数据之间的相似程度,可以在文本挖掘系统、语音识别系统、计算机视觉系统等应用系统中。例如,在文本挖掘系统中,匹配度算法可以根据文本的词汇、语法等特征进行文本分析,比较文本之间的相似程度。
对于图5的编译器,用于将源程序翻译成一个可执行程序。期间要经过预编译、编译、汇编、链接。其中,编译是主要部分,如图3所示,编译器包括词法分析器、语义分析器、代码生成器、代码优化器。
如图5所示,“促销模块”用于从“客户模块”中调用接口函数。而“开发工具”在检测到“客户模块”中的接口函数被调用的情况下,获取“促销模块”调用接口函数时的调用信息,以便编译器根据调用信息中包含的参数调用匹配算法引擎,得到匹配算法引擎从匹配算法库内选择到的匹配算法,继而使用匹配算法对参数进行匹配,根据匹配之后的匹配度确定出接口函数的检测结果。具体的,步骤如下:
步骤S501、调用getmemberlist。在促销模块内确定变量String m_country=“中国”,String m_city=“北京”,继而在促销模块内调用接口函数GetMemberList(m_country,m_city)。
其中,在执行步骤S501之前,可以由开发人员在客户模块内定义接口函数为MemberList GetMemberList(String country,String city)。
步骤S502、开发工具检测到接口函数被调用;
步骤S503、开发工具获取接口函数被调用的调用信息;
例如,在开发工具检测到识别到接口函数的调用时,可以收集函数定义信息,实际调用信息,包括函数名,实际参数类型,名称等调用信息。
步骤S504、编译器调用匹配算法引擎;
步骤S505、匹配算法引擎从匹配算法库内选择匹配算法;
例如,编译器自动驱动匹配算法引擎,匹配算法引擎根据匹配算法库中的匹配算法计算当前调用的实参与函数定义的形参的匹配度(即上述匹配值)。
例如,形参名称为country,如实参名称为country,那么形参和实参之间的余弦匹配度就是1;形参名称为country,如实参名称为m_country,那么形参和实参之间的余弦匹配度就是0.883;形参名称为country,如实参名称为m_value,那么形参和实参之间的余弦匹配度就是0.143。
步骤S506、返回匹配度;
步骤S507、返回匹配度;
步骤S508、根据匹配度确定检测结果,并提示开发人员检测结果。
例如设置匹配度阈值(即上述预设阈值)为0.5,当匹配度低于0.5,则确定校验不通过,可以提示开发人员检查是否有业务变量使用不当的情况。
其中,在步骤S505中,形参和实参之间的余弦匹配度例如可以通过余弦值算法计算。余弦值算法表示在一个向量空间中的两个向量之间的夹角余弦值,这个余弦值来衡量两个向量对应的个体之间的相似程度,如果余弦值接近1,夹角趋于0,表明两个向量越相似,余弦值接近于0,夹角趋于90度,表明两个向量越不相似。
本实施例中所使用的向量模计算公式如下:
二维:
本实施例中所使用的余弦值计算公式如下:
二维:
可选的,对于其他维度,对应的向量模计算公式可以包括:
三维:
N维:其中,n为正整数。
可选的,对于其他维度,对应的余弦值计算公式可以包括:
N维:其中,i,n为正整数。
对于形参名称为country,实参名称为m_country,实参名称为m_value,设置字符串string1=“country”,string2=“m_country”,string3=“m_value”。
1、计算string1与string2的匹配度
对字符串string1与string2的所有字母进行统计,得到这两个字符串共有字母的集合{m,_,c,o,u,n,t,r,y},由于集合有9个元素,可以将这两个字符串表示为长度为9的列表。如果字符串有字母集合中的元素,对应元素位置就是1,否则是0。string1与string2对应的元素值如表1所示:
表1
m | _ | c | o | u | n | t | r | y | |
String1(country) | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
String2(m_country) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
其中,String1的元素值表示x维度的维度值,String2的元素值表示y维度的维度值。则根据余弦相似性的定义式,把两个向量化后的数组代入公式进行计算。String1(“country”)与String2(“m_country”)的余弦值为0.882。
2、计算string1与string3的匹配度
对字符串string1与string3的所有字母进行统计,得到这两个字符串共有字母的集合为{m,_,c,o,u,n,t,r,y,v,a,l,e},由于集合有13个元素,可以将这两个字符串表示为长度为13的列表。如果字符串有字母集合中的元素,对应元素位置就是1,否则是0。string1与string3对应的元素值如表2所示:
表2
m | _ | c | o | u | n | t | r | y | v | a | l | e | |
String1(country) | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
String3(m_value) | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
其中,String1的元素值表示x维度的维度值,String3的元素值表示y维度的维度值。这样,根据余弦相似性的定义式,把两个向量化后的数组代入公式进行计算。String1(“country”)与String3(“m_value”)的余弦值为0.143。
可以确定的是,String1(“country”)与String2(“m_country”的余弦值为0.882。String1“country”))与String3(“m_value”)的余弦值为0.143。可以推断String2比String3更匹配String1。
通过上述步骤,可以在开发过程,自动对调用函数的参数进行匹配,并根据匹配程度对应的校验结果向开发人员发送提示信息,可以在无需人工手动检查函数合理性的情况下,发现函数调用过程中出现的问题,提高了调用函数的准确性,减小业务缺陷的发生率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图6是根据本申请实施例的一种校验结果的确定装置的结构框图;如图6所示,包括:
响应模块62,用于响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;
匹配模块64,用于从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;
确定模块66,用于根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果。
通过上述装置,响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果,解决了相关技术中,如何确定出业务函数被调用时的校验结果的问题,进而能够确定业务函数被调用时的校验结果。
在一个示例性实施例中,上述校验结果的确定装置还包括生成模块,用于在从函数模块中获取所述调用指令指示的业务函数的技术方案之前,接收所述目标对象的新建指令,从所述新建指令中获取待建立函数的第一函数名称以及所述第一函数名称对应的业务类型;将所述第一函数名称设置为业务函数的第二函数名称,将所述第一函数名称对应的业务类型设置为所述业务函数的业务类型,在所述函数模块内生成所述业务函数。
在一个示例性实施例中,上述匹配模块64,还用于执行以下步骤:步骤S11,确定出所述预设算法库内所有匹配算法的使用次数;步骤S12,从所述所有匹配算法中获取具有最大使用次数的第一匹配算法;步骤S13,在确定所述第一匹配算法的使用时间晚于其他匹配算法的使用时间的情况下,将所述第一匹配算法确定为所述目标匹配算法,其中,所述其他匹配算法为所述所有匹配算法中除了所述第一匹配算法的匹配算法。
在一个示例性实施例中,进一步的,上述匹配模块64,还用于执行以下步骤:步骤S21,确定出已经与所述业务函数绑定的算法类型所对应的第二匹配算法;步骤S22,在确定所述预设算法库内不存在所述第二匹配算法的情况下,在所述预设算法库内新增所述第二匹配算法;步骤S23,在确定所述预设算法库内新增所述第二匹配算法成功的情况下,将所述第二匹配算法确定为所述目标匹配算法;步骤S24,向所述目标对象发送通知信息,其中,所述通知信息用于通知所述目标对象所述预设算法库内已增加所述第二匹配算法。
或者,在确定所述预设算法库内存在所述第二匹配算法的情况下,直接将所述第二匹配算法确定为所述目标匹配算法即可。
在一个示例性实施例中,进一步的,上述匹配模块64,还用于执行以下步骤:获取所述形参信息对应的第一字符串和所述实参信息对应的第二字符串;通过将所述第一字符串的所有字段设置为第一集合元素,生成第一字符串集合,以及将所述第二字符串的所有字段设置为第二集合元素,生成第二字符串集合;使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配,得到匹配值。
其中,在使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配的过程中,第一字符串集合的元素和第二字符串集合的元素为一一对应。且在第一字符串集合的元素个数与第二字符串集合的元素个数不一致的情况下,对第一字符串集合的元素个数与第二字符串集合的元素个数进行统一,对于统一的方法,例如可以取第一字符串集合的元素个数与第二字符串集合的元素个数的并集的元素个数,并在第一字符串集合的元素个数或者第二字符串集合的元素个数小于并集的元素个数的情况下,在第一字符串集合或者第二字符串集合中新增零元素以将第一字符串集合的元素个数或者第二字符串集合的元素个数补足至等于并集的元素个数。
在一个示例性实施例中,进一步的,上述匹配模块64,还包括匹配单元,用于:分别对所述第一字符串集合和所述第二字符串集合进行向量化,得到第一向量数组和第二向量数组;在确定所述第一向量数组的向量维度与所述第二向量数组的向量维度一致的情况下,使用余弦函数计算所述第一向量数组和所述第二向量数组之间的夹角余弦值,并将所述夹角余弦值确定为所述匹配值。
进一步的,在使用余弦函数计算所述第一向量数组和所述第二向量数组之间的夹角余弦值之前,还可以在确定所述第一向量数组的向量维度与所述第二向量数组的向量维度不一致的情况下,如果确定所述第一向量数组的向量维度大于所述第二向量数组的向量维度,则在所述第二向量数组新增向量,以使所述第二向量数组的向量维度等于所述第一向量数组的向量维度;或者,确定所述第一向量数组的向量维度小于所述第二向量数组的向量维度,则在所述第一向量数组新增向量,以使所述第一向量数组的向量维度等于所述第二向量数组的向量维度。
在一个示例性实施例中,上述确定模块66,还用于执行以下步骤:步骤S31,在确定所述比较结果指示所述匹配值不大于所述预设阈值的情况下,确定所述业务函数的校验结果为校验通过,向所述目标对象发送用于提示校验通过的第一提示消息;步骤S32,在确定所述比较结果指示所述匹配值大于所述预设阈值的情况下,确定所述业务函数的校验结果为校验不通过,向所述目标对象发送用于提示校验不通过的第二提示消息。
其中,所述第二提示消息包括所述业务函数的形参信息和所述业务函数的实参信息之间的匹配值,便于所述目标对象对所述业务函数的实参信息进行检查
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;
S2,从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;
S3,根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;
S2,从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;
S3,根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种校验结果的确定方法,其特征在于,包括:
响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;
从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;
根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果。
2.根据权利要求1所述的校验结果的确定方法,其特征在于,在从函数模块中获取所述调用指令指示的业务函数之前,所述方法还包括:
接收所述目标对象的新建指令,从所述新建指令中获取待建立函数的第一函数名称以及所述第一函数名称对应的业务类型;
将所述第一函数名称设置为业务函数的第二函数名称,将所述第一函数名称对应的业务类型设置为所述业务函数的业务类型,在所述函数模块内生成所述业务函数。
3.根据权利要求1所述的校验结果的确定方法,其特征在于,从预设算法库内获取目标匹配算法,包括:
确定出所述预设算法库内所有匹配算法的使用次数;
从所述所有匹配算法中获取具有最大使用次数的第一匹配算法;
在确定所述第一匹配算法的使用时间晚于其他匹配算法的使用时间的情况下,将所述第一匹配算法确定为所述目标匹配算法,其中,所述其他匹配算法为所述所有匹配算法中除了所述第一匹配算法的匹配算法。
4.根据权利要求1所述的校验结果的确定方法,其特征在于,从预设算法库内获取目标匹配算法,包括:
确定出已经与所述业务函数绑定的算法类型所对应的第二匹配算法;
在确定所述预设算法库内不存在所述第二匹配算法的情况下,在所述预设算法库内新增所述第二匹配算法;
在确定所述预设算法库内新增所述第二匹配算法成功的情况下,将所述第二匹配算法确定为所述目标匹配算法;
向所述目标对象发送通知信息,其中,所述通知信息用于通知所述目标对象所述预设算法库内已增加所述第二匹配算法。
5.根据权利要求1所述的校验结果的确定方法,其特征在于,使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值,包括:
获取所述形参信息对应的第一字符串和所述实参信息对应的第二字符串;通过将所述第一字符串的所有字段设置为第一集合元素,生成第一字符串集合,以及将所述第二字符串的所有字段设置为第二集合元素,生成第二字符串集合;
使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配,得到匹配值。
6.根据权利要求5所述的校验结果的确定方法,其特征在于,使用所述目标匹配算法对所述第一字符串集合和所述第二字符串集合进行匹配,得到匹配值,包括:
分别对所述第一字符串集合和所述第二字符串集合进行向量化,得到第一向量数组和第二向量数组;
在确定所述第一向量数组的向量维度与所述第二向量数组的向量维度一致的情况下,使用余弦函数计算所述第一向量数组和所述第二向量数组之间的夹角余弦值,并将所述夹角余弦值确定为所述匹配值。
7.根据权利要求1所述的校验结果的确定方法,其特征在于,根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果,包括:
在确定所述比较结果指示所述匹配值不大于所述预设阈值的情况下,确定所述业务函数的校验结果为校验通过,向所述目标对象发送用于提示校验通过的第一提示消息;
在确定所述比较结果指示所述匹配值大于所述预设阈值的情况下,确定所述业务函数的校验结果为校验不通过,向所述目标对象发送用于提示校验不通过的第二提示消息。
8.一种校验结果的确定装置,其特征在于,包括:
响应模块,用于响应目标对象的调用指令,从函数模块中获取所述调用指令指示的业务函数;
匹配模块,用于从预设算法库内获取目标匹配算法,并使用所述目标匹配算法对所述业务函数的形参信息和所述业务函数的实参信息进行匹配,得到匹配值;
确定模块,用于根据所述匹配值和预设阈值的比较结果确定出所述业务函数的校验结果。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311354842.2A CN117573237A (zh) | 2023-10-18 | 2023-10-18 | 校验结果的确定方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311354842.2A CN117573237A (zh) | 2023-10-18 | 2023-10-18 | 校验结果的确定方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117573237A true CN117573237A (zh) | 2024-02-20 |
Family
ID=89863256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311354842.2A Pending CN117573237A (zh) | 2023-10-18 | 2023-10-18 | 校验结果的确定方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573237A (zh) |
-
2023
- 2023-10-18 CN CN202311354842.2A patent/CN117573237A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210150460A1 (en) | Method and apparatus for outputting storage position information | |
CN104640092B (zh) | 识别垃圾短信的方法、客户端、云端服务器和系统 | |
CN106599194B (zh) | 标签确定方法及装置 | |
CN109446171B (zh) | 一种数据处理方法和装置 | |
US11196633B2 (en) | Generalized correlation of network resources and associated data records in dynamic network environments | |
CN109951725B (zh) | 一种直播间的推荐方法以及相关设备 | |
Bordel et al. | An agent-based method for trust graph calculation in resource constrained environments | |
CN112052166B (zh) | 一种基于支配关系的测试用例生成方法与装置 | |
CN117573237A (zh) | 校验结果的确定方法、装置、存储介质及电子装置 | |
CN112100452A (zh) | 数据处理的方法、装置、设备及计算机可读存储介质 | |
CN106912118B (zh) | 一种用于创建服务号的方法、设备及系统 | |
CN115345225A (zh) | 推荐场景的确定方法及装置、存储介质及电子装置 | |
CN109491892B (zh) | 一种项目环境的配置方法和装置 | |
CN111859917A (zh) | 主题模型构建方法、设备及计算机可读存储介质 | |
CN112785320B (zh) | 信用风险的确定方法及装置、存储介质和电子设备 | |
CN116301767A (zh) | 接口文件的生成方法、装置、存储介质及电子装置 | |
CN117573442A (zh) | 设备测试方法和装置、存储介质及电子装置 | |
CN115314245B (zh) | 权限管理方法、系统、存储介质及电子装置 | |
CN115270036B (zh) | 基于活跃度持续授时的网页浏览时长计算方法 | |
US11605101B1 (en) | Collaborative filtering system, method, and computer program providing a model used to calculate ranked predictions for subscribers | |
CN116521767A (zh) | 数据信息的确定方法和装置、存储介质及电子装置 | |
CN117453321A (zh) | 业务实例的生成方法、装置、存储介质及电子装置 | |
CN116319417A (zh) | 评价结果的确定方法、装置、存储介质及电子装置 | |
CN116541012A (zh) | 基础参数的修改方法及装置、存储介质及电子装置 | |
CN117667560A (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 |