一种时间复杂度检测方法、装置、系统及存储介质制造方法及图纸

技术编号:38563707 阅读:10 留言:0更新日期:2023-08-22 21:03
本发明专利技术提供了一种时间复杂度检测方法、装置、系统及存储介质,涉及金融科技及数据分析技术领域。所述时间复杂度检测方法包括:采集服务端的程序代码到消息队列系统;对消息队列系统中的程序代码进行识别获得时间复杂度结果;若时间复杂度结果为高时间复杂度,则利用神经网络体系获取与时间复杂度结果对应的解决方案信息。本发明专利技术利用AI识别+大数据分析,快速识别出代码中时间复杂度较高的代码区域,以及经过大数据实时计算,为其推荐出解决当前代码时间复杂度问题的措施案例,解决了由于人为原因导致代码开发质量不高、执行效率低下问题,同时也保证了程序的长期稳定运行。同时也保证了程序的长期稳定运行。同时也保证了程序的长期稳定运行。

【技术实现步骤摘要】
一种时间复杂度检测方法、装置、系统及存储介质


[0001]本专利技术涉及金融科技及数据分析
,更具体地说,涉及一种时间复杂度检测方法、装置、系统及存储介质。

技术介绍

[0002]传统的程序代码开发过程,尤其是金融科技领域的程序开发过程中,至少包括如下几个步骤:需求分析、设计阶段、编码阶段、测试阶段和发布阶段。
[0003]其中,针对于程序代码的检测,主要集中在编码阶段和测试阶段。传统的针对于程序代码的开发和检测方式,只是起到了:检测代码逻辑和开发规范的问题,不能有效的检查代码的执行效率和执行时间复杂度。
[0004]采用传统的检测方式,往往导致代码本身逻辑和开发规范没有问题,但由于代码时间复杂度较高,在处理大数据量时,代码的执行时间会成指数级增长,从而导致代码执行时间较长,甚至导致服务器宕机的问题。

技术实现思路

[0005]有鉴于此,针对于上述技术问题,本专利技术提供一种能够应用于金融科技领域或者金融科技领域相关的
的一种时间复杂度检测方法,包括:
[0006]采集服务端的程序代码到消息队列系统;
[0007]对所述消息队列系统中的程序代码进行识别,获得时间复杂度结果;
[0008]若所述时间复杂度结果为高时间复杂度,则利用神经网络体系获取与所述时间复杂度结果对应的解决方案信息。
[0009]优选地,所述采集服务端的程序代码到消息队列系统,包括:
[0010]利用数据采集工具,对所述服务端的所述程序代码进行采集;
[0011]将采集到的所述程序代码写入所述消息队列系统。
[0012]优选地,所述对所述消息队列系统中的程序代码进行识别,获得时间复杂度结果,包括:
[0013]利用实时计算引擎对所述消息队列系统中的所述程序代码进行计算,得到每个所述程序代码中各个区域的计算逻辑信息,并根据所述计算逻辑信息得到所述时间复杂度结果。
[0014]优选地,所述根据所述计算逻辑信息得到所述时间复杂度结果,包括:
[0015]对所述计算逻辑信息中的算法进行识别,根据所述计算逻辑信息的算法识别出对应的复杂度类别;
[0016]若所述复杂度类别为预设高效率算法类,则判定所述计算逻辑信息的算法的时间复杂度结果为低时间复杂度;
[0017]若所述复杂度类别为预设低效率算法类,则判定所述计算逻辑信息的算法的时间复杂度结果为高时间复杂度。
[0018]优选地,所述预设高效率算法类包括常数级别和对数级别。
[0019]优选地,所述预设低效率算法类包括线性级别、线性对数级别、多次方级别、指数级别、阶乘级别、方根级别和多项式对数级别。
[0020]优选地,所述若所述时间复杂度结果为高时间复杂度,则利用神经网络体系获取与所述时间复杂度结果对应的解决方案信息之后,还包括:
[0021]建立所述程序代码与所述解决方案信息对应关系;
[0022]将基于所述对应关系所生成的对应结果存入目标数据存储系统中,以便于终端根据所述程序代码查询对应的所述解决方案信息。
[0023]此外,为解决上述问题,本专利技术还提供一种时间复杂度检测装置,包括:
[0024]采集模块,用于采集服务端的程序代码到消息队列系统;
[0025]识别模块,用于对所述消息队列系统中的程序代码进行识别,获得时间复杂度结果;
[0026]获取模块,用于在所述时间复杂度结果为高时间复杂度时,则利用神经网络体系获取与所述时间复杂度结果对应的解决方案信息。
[0027]此外,为解决上述问题,本专利技术还提供一种时间复杂度检测系统包括存储器以及处理器,所述存储器中存储有时间复杂度检测程序,所述处理器运行所述时间复杂度检测程序以使所述时间复杂度检测系统执行如上述所述的时间复杂度检测方法。
[0028]此外,为解决上述问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有时间复杂度检测程序,所述时间复杂度检测程序被处理器执行时实现如上述所述的时间复杂度检测方法。
[0029]本专利技术提供了一种时间复杂度检测方法、装置、系统及存储介质,其中,所述方法包括:采集服务端的程序代码到消息队列系统;对所述消息队列系统中的程序代码进行识别,获得时间复杂度结果;若所述时间复杂度结果为高时间复杂度,则利用神经网络体系获取与所述时间复杂度结果对应的解决方案信息。本专利技术利用AI识别+大数据分析,快速识别出代码中时间复杂度较高的代码区域,以及经过大数据实时计算,为其推荐出解决当前代码时间复杂度问题的措施案例,解决了由于人为原因导致代码开发质量不高、执行效率低下问题,同时也保证了程序的长期稳定运行。
附图说明
[0030]图1为本专利技术时间复杂度检测方法实施例涉及的硬件运行环境的结构示意图;
[0031]图2为本专利技术时间复杂度检测方法第1实施例的流程示意图;
[0032]图3为本专利技术时间复杂度检测方法第1实施例中步骤S100细化的流程示意图;
[0033]图4为本专利技术时间复杂度检测方法第2实施例的流程示意图;
[0034]图5为本专利技术时间复杂度检测方法第2实施例中步骤S210细化的流程示意图;
[0035]图6为本专利技术时间复杂度检测方法第3实施例的流程示意图;
[0036]图7为本专利技术时间复杂度检测方法第3实施例的功能模块连接及流程示意图;
[0037]图8为本专利技术时间复杂度检测装置的模块连接示意图。
[0038]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0039]下面详细描述本专利技术的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
[0040]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0041]在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0042]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0043]如图1所示,是本专利技术实施例涉及的终端的硬件运行环境的结构示意图。
[0044]本专利技术实施例时间复杂度检测系统,可以为PC,也可以是智能手机、平板电脑或者便携计算机等可移动式终端设备等。该时间复杂度检测系统中可以包括:处理器1001、例如CPU,网络接口1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种时间复杂度检测方法,其特征在于,包括:采集服务端的程序代码到消息队列系统;对所述消息队列系统中的程序代码进行识别,获得时间复杂度结果;若所述时间复杂度结果为高时间复杂度,则利用神经网络体系获取与所述时间复杂度结果对应的解决方案信息。2.如权利要求1所述时间复杂度检测方法,其特征在于,所述采集服务端的程序代码到消息队列系统,包括:利用数据采集工具,对所述服务端的所述程序代码进行采集;将采集到的所述程序代码写入所述消息队列系统。3.如权利要求1所述时间复杂度检测方法,其特征在于,所述对所述消息队列系统中的程序代码进行识别,获得时间复杂度结果,包括:利用实时计算引擎对所述消息队列系统中的所述程序代码进行计算,得到每个所述程序代码中各个区域的计算逻辑信息,并根据所述计算逻辑信息得到所述时间复杂度结果。4.如权利要求3所述时间复杂度检测方法,其特征在于,所述根据所述计算逻辑信息得到所述时间复杂度结果,包括:对所述计算逻辑信息中的算法进行识别,根据所述计算逻辑信息的算法识别出对应的复杂度类别;若所述复杂度类别为预设高效率算法类,则判定所述计算逻辑信息的算法的时间复杂度结果为低时间复杂度;若所述复杂度类别为预设低效率算法类,则判定所述计算逻辑信息的算法的时间复杂度结果为高时间复杂度。5.如权利要求4所述时间复杂度检测方法,其特征在于,所述预设高效率算法类包括常数级别和对数级别。6.如权利要求4所述时间复...

【专利技术属性】
技术研发人员:李帅
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1