CN114138243A - 基于开发平台的功能调用方法、装置、设备及存储介质 - Google Patents
基于开发平台的功能调用方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114138243A CN114138243A CN202111446598.3A CN202111446598A CN114138243A CN 114138243 A CN114138243 A CN 114138243A CN 202111446598 A CN202111446598 A CN 202111446598A CN 114138243 A CN114138243 A CN 114138243A
- Authority
- CN
- China
- Prior art keywords
- function
- code
- development platform
- codes
- minimum
- 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
- 238000011161 development Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000003252 repetitive effect Effects 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 382
- 230000018109 developmental process Effects 0.000 claims description 92
- 239000013598 vector Substances 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000003032 molecular docking Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/313—Logic programming, e.g. PROLOG programming language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及人工智能技术,揭露了一种基于开发平台的功能调用方法,包括:将开发平台的源码拆分为每个可调用功能对应的功能代码;获取每个可调用功能的实现逻辑,根据实现逻辑将功能代码拆分为最小功能代码并进行去重处理,对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码;根据获取的用户需求确定目标功能并查询目标功能对应的目标编码;根据目标编码与预设的用户标识生成调用请求,利用调用请求对开发平台的功能进行调用。此外,本发明还涉及区块链技术,用户需求可存储于区块链的节点。本发明还提出一种基于开发平台的功能调用装置、设备及介质。本发明可以解决开发平台无法实现对用户进行个性化功能调用的问题。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于开发平台的功能调用方法、装置、电子设备及计算机可读存储介质。
背景技术
随着用户需求的多样化与软件中需求实现逻辑的复杂化,导致软件功能开发过程的工作量愈发庞大,因此,为了提高针对用户需求的开发效率,越来越多开发商将用户希望获取的各项功能通过IT技术封装为易于使用的API接口,并通过接口调用的方式为用户提供多样化的服务功能。这种API接口被称为开放API,提供此类开放API接口的平台本身就被称为开发平台。
现有使用开发平台进行功能调用的方式多为基于预设对接标准的调用,即按照该开发平台内预先设定的对接标准对该开发平台可提供的现有功能进行调用,以实现对用户的功能提供服务,但由于不同用户需求的差异性较大,因此该方法中固定的对接标准无法满足用户的个性化需求。
发明内容
本发明提供一种基于开发平台的功能调用方法、装置及计算机可读存储介质,其主要目的在于解决开发平台无法实现对用户进行个性化功能调用的问题。
为实现上述目的,本发明提供的一种基于开发平台的功能调用方法,包括:
获取预设的开发平台的源码,将所述源码拆分为所述开发平台中每个可调用功能对应的功能代码;
获取每个所述可调用功能的实现逻辑,根据所述实现逻辑将所述功能代码拆分为最小功能代码;
对所述最小功能代码进行去重处理,并对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码;
获取用户需求,根据所述用户需求确定需要调用的目标功能,从所述功能编码中查询得到所述目标功能对应的目标编码;
根据所述目标编码与预设的用户标识生成调用请求,利用所述调用请求对所述开发平台的功能进行调用。
可选地,所述根据所述实现逻辑将所述功能代码拆分为最小功能代码,包括:
执行所述目标区域中的代码,得到执行结果;
根据所述执行结果判断所述目标区域中的代码是否能够实现所述实现逻辑的功能;
若所述目标区域不能够实现所述实现逻辑的功能,则对所述目标区域进行外扩,并返回所述执行所述目标区域中的代码,得到执行结果的步骤;
若所述目标区域中的代码能够实现所述实现逻辑的功能,则确定所述目标区域中包含的代码为最小功能代码。
可选地,所述对所述最小功能代码进行去重处理,包括:
逐个从所述最小功能代码中选取其中一个最小功能代码为目标功能代码;
计算所述目标功能代码与未被选取的最小功能代码之间的重合度;
删除未被选取的最小功能代码中所述重合度大于预设阈值的最小功能代码。
可选地,所述对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码,包括:
对所述去重后的最小功能代码进行随机排列,得到代码队列;
按照所述代码队列中每个最小功能代码的先后顺序对所述去重后的最小功能代码进行递增编号,并将每个最小功能代码的编号作为所述功能编码。
可选地,所述根据所述用户需求确定需要调用的目标功能,包括:
对所述用户需求进行分词处理,得到需求分词;
将所述需求分词转换为词向量,并将所述词向量拼接为向量矩阵;
获取每个所述最小功能代码对应的功能标签,逐个计算所述向量矩阵与每个所述功能标签之间的距离值;
确定所述距离值小于预设距离阈值的功能标签对应的最小功能代码所实现的功能为所述目标功能。
可选地,所述对所述用户需求进行分词处理,得到需求分词,包括:
对所述用户需求进行无意词删除,得到标准语料;
将所述标准语料按照不同的数据长度在预设的词典中进行检索,汇集从所述词典中检索到的与所述标准语料中相同的词语为所述用户需求的语料分词。
可选地,所述根据所述目标编码与预设的用户标识生成调用请求,包括:
将所述目标编码与所述用户标识转换为数据字段;
将所述数据字段填充至预设的无参数数据请求中,得到含参数请求;
对所述含参数请求进行编译,得到所述调用请求。
为了解决上述问题,本发明还提供一种基于开发平台的功能调用装置,所述装置包括:
源码拆分模块,用于获取预设的开发平台的源码,将所述源码拆分为所述开发平台中每个可调用功能对应的功能代码;
功能拆分模块,用于获取每个所述可调用功能的实现逻辑,根据所述实现逻辑将所述功能代码拆分为最小功能代码;
代码去重模块,用于对所述最小功能代码进行去重处理,并对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码;
需求分析模块,用于获取用户需求,根据所述用户需求确定需要调用的目标功能,从所述功能编码中查询得到所述目标功能对应的目标编码;
功能调用模块,用于根据所述目标编码与预设的用户标识生成调用请求,利用所述调用请求对所述开发平台的功能进行调用。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的基于开发平台的功能调用方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的基于开发平台的功能调用方法。
本发明实施例能够对聚合了多种功能的开发平台中的各项功能的代码进行拆解,以将单个的固定功能拆分为多个不可再拆分的子功能,进而在对用户需求进行分析之后,可根据用户的需求进行针对性的功能调用,避免仅对用户提供平台中固定的功能,实现了对用户的个性化功能调用。因此本发明提出的基于开发平台的功能调用方法、装置、电子设备及计算机可读存储介质,可以解决开发平台无法实现对用户进行个性化功能调用的问题。
附图说明
图1为本发明一实施例提供的基于开发平台的功能调用方法的流程示意图;
图2为本发明一实施例提供的将功能代码拆分为最小功能代码的流程示意图;
图3为本发明一实施例提供的对最小功能代码进行去重处理的流程示意图;
图4为本发明一实施例提供的基于开发平台的功能调用装置的功能模块图;
图5为本发明一实施例提供的实现所述基于开发平台的功能调用方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种基于开发平台的功能调用方法。所述基于开发平台的功能调用方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述基于开发平台的功能调用方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的基于开发平台的功能调用方法的流程示意图。在本实施例中,所述基于开发平台的功能调用方法包括:
S1、获取预设的开发平台的源码,将所述源码拆分为所述开发平台中每个可调用功能对应的功能代码。
本发明实施例中,所述开发平台包括认可对外界提供服务的功能平台,例如,DevCloud平台、CODING平台等。
详细地,所述源码为所述开发平台中可对外界提供的不同功能对应的底层代码,例如,交易功能的底层代码、登录功能的底层代码等。
本发明实施例中,可利用具有数据抓取功能的计算机语句(如java语句、python语句等)从所述开发平台对应的预设存储区域中抓取所述源码,其中,所述预设存储区域包括但不限于存储有源码的数据库、区块链节点或机器存储。
本发明其中一个实际应用场景中,由于所述源码包含了该开发平台中所有可调用功能对应的代码,因此,为了实现对每个单独功能的分析,可将所述源码拆分为每个可调用功能对应的功能代码。
本发明实施例中,由于所述开发平台中不同的可调用功能的代码往往存储于不同的源码文件中,因此,可直接根据每个可调用功能所在的源码文件将所述源码拆分为每个可调用功能的功能代码。
S2、获取每个所述可调用功能的实现逻辑,根据所述实现逻辑将所述功能代码拆分为最小功能代码。
本发明其中一个实际应用场景中,由于所述开发平台中每个单独的可调用功能往往是完成某些业务需要的功能集合,但不同用户对同一业务的执行流程往往也不同,因此,可将所述功能代码进一步拆分为最小功能代码,其中,所述最小功能代码为实现某项功能中无法再被分割的最小功能单元。
详细地,所述可调用功能是指所述开发平台提供的可被外部用户进行调用的功能。
例如,所述开发平台中存在的可调用功能具体可以是交易功能,该交易功能的功能代码中,存在用于交易标库存查询的功能代码、账户余额查询的功能代码、交易金额对账清算的功能代码、订单生成的功能代码等多种用于实现完整交易功能的多个最小且不可继续分割的功能代码。
本发明实施例中,所述实现逻辑即为实现任何完整的可调用功能需要执行的逻辑,例如,当可调用功能为交易功能时,为了实现交易功能,需要进行交易标的查询、账户余额查询、订单生成、交易金额对账清算等多种操作,上述操作即为所述交易功能的实现逻辑。
详细地,所述实现逻辑可由开发所述开发平台的人员预先定义,可由预先获取的记载有所述实现逻辑的数据表中查询得到每个所述可调用功能的实现逻辑,进而按照所述实现逻辑将每个可调用功能对应的功能代码拆分为最小功能代码。
本发明实施例中,参图2所示,所述根据所述实现逻辑将所述功能代码拆分为最小功能代码,包括:
S21、按照所述实现逻辑将所述功能代码划分为多个子代码区域,并逐个选取其中一个区域为目标区域;
S22、执行所述目标区域中的代码,得到执行结果;
S23、根据所述执行结果判断所述目标区域中的代码是否能够实现所述实现逻辑的功能;
若所述目标区域不能够实现所述实现逻辑的功能,则执行S24、对所述目标区域进行外扩,并返回S22;
若所述目标区域中的代码能够实现所述实现逻辑的功能,则执行S25、确定所述目标区域中包含的代码为最小功能代码。
详细地,可参照所述实现逻辑与所述功能代码中预先存在的注释将所述功能代码划分为多个字代码区域,例如,所述实现逻辑中存在订单生成的流程,所述功能代码中存在对实现订单生成的流程的代码区域的注释,因此,可按照所述注释将该功能代码进行划分;或者,还可通过人工划分的方式,根据所述实现逻辑,将所述功能代码划分为多个子代码区域。
具体地,由于划分出的子代码区域不一定精确,可能存在缺少代码无法实现子代码区域对应的功能的情况,因此,在初步地根据实现逻辑将所述功能代码划分为多个子代码区域之后,还需逐个对所述子代码区域进行执行,以判断划分出的子代码区域是否具有完整性。
本发明实施例中,可逐个选取其中一个区域为目标区域,并利用预设编译器对该目标区域中的代码进行编译,进而对编译后的代码进行执行,并将该执行结果与预先获取的与该目标区域对应的功能进行比对,当该执行结果符合所述目标区域对应的功能时,确定所述目标区域中的代码可实现所述实现逻辑的功能,进而确定所述目标区域中包含的代码为最小功能代码。
当该执行结果不符合所述目标区域对应的功能时,则对所述目标区域进行外扩,例如,将该目标区域的相邻区域的部分代码划分至该目标区域中,并返回对所述目标区域中的代码进行执行,得到执行结果的步骤。
详细地,可预先设定外扩范围N,其中,N为正整数;例如,当外扩范围N=2时,则进行外扩时,可将目标区域相邻上下相邻的各一行代码划分至该目标区域中,或者,将该目标区域上方相邻的两行代码划分至该目标区域中,或者将该目标区域下方相邻的两行代码划分至该目标区域中。
本发明实施例中,通过实现逻辑将所述功能代码拆分为最小功能代码,有利于后续用户在对该开发平台中的功能进行调用时,对最小的功能进行调用,而不是按照该开发平台预设的业务流程对功能进行调用,提升对用户个性化需求的符合程度。
S3、对所述最小功能代码进行去重处理,并对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码。
本发明其中一个实际应用场景中,由于所述开发平台中包含众多可调用功能,但不同的可调用功能之间可能存在部分的功能重合,导致不同的可调用功能在划分出的最小功能代码中有部分重合。
例如,开发平台中包括交易功能与登录功能两个可调用功能,但上述两个可调用功能中,均存在对用户进行身份验证的流程,因此,交易功能与登录功能两个可调用功能对应的最小功能代码中,关于用户身份验证的部分相互重合。
本发明实施例中,为了提高用户对该开发平台中个功能的调用效率,可对所述最小功能代码中重复出现的代码进行去重,以便于后续用户在调用时,可唯一且精确地调用需要的功能。
本发明实施例中,参图3所示,所述对所述最小功能代码进行去重处理,包括:
S31、逐个从所述最小功能代码中选取其中一个最小功能代码为目标功能代码;
S32、计算所述目标功能代码与未被选取的最小功能代码之间的重合度;
S33、删除未被选取的最小功能代码中所述重合度大于预设阈值的最小功能代码。
详细地,可通过比对所述目标功能代码与未被选取的最小功能代码中相同的代码行数来计算所述重合度,即利用所述目标功能代码与未被选取的最小功能代码中相同的代码行数除以所述目标功能代码中代码的总行数,并将计算结果作为所述重合度,进而未被选取的最小功能代码中所述重合度大于预设阈值的代码。
例如,所述最小功能代码中存在代码A、代码B和代码C,当选取代码A为目标功能代码时,可分别计算代码A与代码B和代码C之间的重合度,当代码B、代码C中存在与所述代码A的重合度大于预设阈值的代码时,则删除代码B、代码C中所述重合度大于预设阈值的代码。
进一步地,为了实现对各最小功能模块的快速调用,可去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码。
本发明实施例中,所述对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码,包括:
对所述去重后的最小功能代码进行随机排列,得到代码队列;
按照所述代码队列中每个最小功能代码的先后顺序对所述去重后的最小功能代码进行递增编号,并将每个最小功能代码的编号作为所述功能编码。
详细地,通过递增编号的方式,可实现快速地对所有去重后的最小功能代码进行编码,且可确保编码的不重复性,提高生成功能编码的效率。
S4、获取用户需求,根据所述用户需求确定需要调用的目标功能,从所述功能编码中查询得到所述目标功能对应的目标编码。
本发明实施例中,所述用户需求包括用户生成的用于对该开发平台中一项或多项功能进行调用的需求文本,进而对所述用户需求进行分析,以确定用户需求进行调用的一项或多项功能。
本发明实施例中,所述根据所述用户需求确定需要调用的目标功能,包括:
对所述用户需求进行分词处理,得到需求分词;
将所述需求分词转换为词向量,并将所述词向量拼接为向量矩阵;
获取每个所述最小功能代码对应的功能标签,逐个计算所述向量矩阵与每个所述功能标签之间的距离值;
确定所述距离值小于预设距离阈值的功能标签对应的最小功能代码所实现的功能为所述目标功能。
详细地,详细地,可利用预先训练的具有分词功能的人工智能模型对所述用户需求进行分词处理,得到所述需求分词,其中,所述人工智能模型包括但不限于NLP(NaturalLanguage Processing,自然语言处理)模型、HMM(Hidden Markov Model,隐马尔可夫模型)。
本发明另一实施例中,由于所述用户需求中可能包含大量的语句,且每个语句的长度可能较长,若直接对所述用户需求进行分析,会占用大量的计算资源,因此,可对所述用户需求进行分词处理,将所述用户需求划分为语料分词,以提高后续对用户需求进行分析的效率。
详细地,所述对所述用户需求进行分词处理,得到需求分词,包括:
对所述用户需求进行无意词删除,得到标准语料;
将所述标准语料按照不同的数据长度在预设的词典中进行检索,汇集从所述词典中检索到的与所述标准语料中相同的词语为所述用户需求的语料分词。
详细地,所述无意词是指没有实际语言含义的词语,例如,语气词、拟声词、结构助词等词语,由于用户在产生所述用户需求时,该用户需求中可能包含一些无意词,且该无意词不包含用户想要表达的实际含义,因此,可通过将所述用户需求中的无意词进行删除,实现对用户需求的数据量的减少,便于提高后续对用户需求进行分析的效率和精确度。
具体地,所述词典为预先构建的包含多个标准分词的词典,可将无意词删除后的所述用户需求,按照不同的数据长度在所述词典中进行检索,当检索到与所述用户需求中相同的词语时,则确认检索到的词语为所述用户需求的语料分词。
具体地,为了提高对所述需求分词的处理效率,可利用预先训练的词向量模型将所述需求分词转换为数值形式的词向量,进而将每个词向量作为行向量拼接为向量矩阵,其中,所述词向量模型包括但不限于word2vec模型、bert模型。
进一步地,所述功能标签为预先根据每个最小功能代码可实现的功能定义的数据标签,可用于对不同的最小功能代码的功能进行标记。
本发明实施例中,所述逐个计算所述向量矩阵与每个所述功能标签之间的距离值,包括:
利用如下距离值算法逐个计算所述向量矩阵与每个所述功能标签之间的距离值:
其中,D为所述距离值,a为所述向量矩阵,bi为第i个最小功能代码的功能标签。
本发明实施例中,可利用SQL中的CREATE INDEX函数创建每个最小功能代码对应的功能编码的索引,进而根据所述索引从每个最小功能代码对应的功能编码中查询出每个所述目标功能对应的模板编码。
S5、根据所述目标编码与预设的用户标识生成调用请求,利用所述调用请求对所述开发平台的功能进行调用。
本发明实施例中,所述开发平台中存在着大量可实现不同功能呢的最小功能代码,为了实现对用户需求的功能的快速调用,可利用所述目标编码与预先获取的用户标识生成对所述目标功能对应的最小功能代码的调用请求,进而利用所述调用请求对该开发平台中的功能进行调用。
详细地,所述用户标识包括但不限于用户ID、用户IP地址等可对用户身份进行标识的数据。
本发明实施例中,所述根据所述目标编码与预设的用户标识生成调用请求,包括:
将所述目标编码与所述用户标识转换为数据字段;
将所述数据字段填充至预设的无参数数据请求中,得到含参数请求;
对所述含参数请求进行编译,得到所述调用请求。
详细地,由于所述用户标识与所述目标编码的数据形式可能与所述开发平台的数据调用请求的数据形式不同,因此,为了实现利用所述目标编码与所述用户标识生成所述调用请求,可利用预设的数据转换工具将所述目标编码与所述用户标识转换为符合数据请求的数据字段,其中,所述数据转换工具包括但不限于json插件、Arcgis插件。
具体地,所述无参数数据请求为预先获取的不包含任何参数,仅包含对该开发平台的数据请求的必要格式字段的请求,可将转换为数据字段的模板编码与所述用户标识作为参数填充至所述无参数数据请求中,进而得到所述含参数请求,并利用预设的编译器对所述含参数请求进行编译,得到所述调用请求,其中,所述编译器包括但不限于VisualStudio编译器、Dev C++编译器。
本发明实施例中,可对所述调用请求进行执行,进而从所述开发平台中调用出与用户需求相符合的功能。
本发明实施例能够对聚合了多种功能的开发平台中的各项功能的代码进行拆解,以将单个的固定功能拆分为多个不可再拆分的子功能,进而在对用户需求进行分析之后,可根据用户的需求进行针对性的功能调用,避免仅对用户提供平台中固定的功能,实现了对用户的个性化功能调用。因此本发明提出的基于开发平台的功能调用方法,可以解决开发平台无法实现对用户进行个性化功能调用的问题。
如图4所示,是本发明一实施例提供的基于开发平台的功能调用装置的功能模块图。
本发明所述基于开发平台的功能调用装置100可以安装于电子设备中。根据实现的功能,所述基于开发平台的功能调用装置100可以包括源码拆分模块101、功能拆分模块102、代码去重模块103、需求分析模块104及功能调用模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述源码拆分模块101,用于获取预设的开发平台的源码,将所述源码拆分为所述开发平台中每个可调用功能对应的功能代码;
所述功能拆分模块102,用于获取每个所述可调用功能的实现逻辑,根据所述实现逻辑将所述功能代码拆分为最小功能代码;
所述代码去重模块103,用于对所述最小功能代码进行去重处理,并对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码;
所述需求分析模块104,用于获取用户需求,根据所述用户需求确定需要调用的目标功能,从所述功能编码中查询得到所述目标功能对应的目标编码;
所述功能调用模块105,用于根据所述目标编码与预设的用户标识生成调用请求,利用所述调用请求对所述开发平台的功能进行调用。
详细地,本发明实施例中所述基于开发平台的功能调用装置100中所述的各模块在使用时采用与上述图1至图3中所述的基于开发平台的功能调用方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图5所示,是本发明一实施例提供的实现基于开发平台的功能调用方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于开发平台的功能调用程序。
其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行基于开发平台的功能调用程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如基于开发平台的功能调用程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述通信总线12可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
所述通信接口13用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的基于开发平台的功能调用程序是多个指令的组合,在所述处理器10中运行时,可以实现:
获取预设的开发平台的源码,将所述源码拆分为所述开发平台中每个可调用功能对应的功能代码;
获取每个所述可调用功能的实现逻辑,根据所述实现逻辑将所述功能代码拆分为最小功能代码;
对所述最小功能代码进行去重处理,并对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码;
获取用户需求,根据所述用户需求确定需要调用的目标功能,从所述功能编码中查询得到所述目标功能对应的目标编码;
根据所述目标编码与预设的用户标识生成调用请求,利用所述调用请求对所述开发平台的功能进行调用。
具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取预设的开发平台的源码,将所述源码拆分为所述开发平台中每个可调用功能对应的功能代码;
获取每个所述可调用功能的实现逻辑,根据所述实现逻辑将所述功能代码拆分为最小功能代码;
对所述最小功能代码进行去重处理,并对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码;
获取用户需求,根据所述用户需求确定需要调用的目标功能,从所述功能编码中查询得到所述目标功能对应的目标编码;
根据所述目标编码与预设的用户标识生成调用请求,利用所述调用请求对所述开发平台的功能进行调用。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于开发平台的功能调用方法,其特征在于,所述方法包括:
获取预设的开发平台的源码,将所述源码拆分为所述开发平台中每个可调用功能对应的功能代码;
获取每个所述可调用功能的实现逻辑,根据所述实现逻辑将所述功能代码拆分为最小功能代码;
对所述最小功能代码进行去重处理,并对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码;
获取用户需求,根据所述用户需求确定需要调用的目标功能,从所述功能编码中查询得到所述目标功能对应的目标编码;
根据所述目标编码与预设的用户标识生成调用请求,利用所述调用请求对所述开发平台的功能进行调用。
2.如权利要求1所述的基于开发平台的功能调用方法,其特征在于,所述根据所述实现逻辑将所述功能代码拆分为最小功能代码,包括:
按照所述实现逻辑将所述功能代码划分为多个子代码区域,并逐个选取其中一个区域为目标区域;
执行所述目标区域中的代码,得到执行结果;
根据所述执行结果判断所述目标区域中的代码是否能够实现所述实现逻辑的功能;
若所述目标区域不能够实现所述实现逻辑的功能,则对所述目标区域进行外扩,并返回所述执行所述目标区域中的代码,得到执行结果的步骤;
若所述目标区域中的代码能够实现所述实现逻辑的功能,则确定所述目标区域中包含的代码为最小功能代码。
3.如权利要求1所述的基于开发平台的功能调用方法,其特征在于,所述对所述最小功能代码进行去重处理,包括:
逐个从所述最小功能代码中选取其中一个最小功能代码为目标功能代码;
计算所述目标功能代码与未被选取的最小功能代码之间的重合度;
删除未被选取的最小功能代码中所述重合度大于预设阈值的最小功能代码。
4.如权利要求3所述的基于开发平台的功能调用方法,其特征在于,所述对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码,包括:
对所述去重后的最小功能代码进行随机排列,得到代码队列;
按照所述代码队列中每个最小功能代码的先后顺序对所述去重后的最小功能代码进行递增编号,并将每个最小功能代码的编号作为所述功能编码。
5.如权利要求1所述的基于开发平台的功能调用方法,其特征在于,所述根据所述用户需求确定需要调用的目标功能,包括:
对所述用户需求进行分词处理,得到需求分词;
将所述需求分词转换为词向量,并将所述词向量拼接为向量矩阵;
获取每个所述最小功能代码对应的功能标签,逐个计算所述向量矩阵与每个所述功能标签之间的距离值;
确定所述距离值小于预设距离阈值的功能标签对应的最小功能代码所实现的功能为所述目标功能。
6.如权利要求5所述的基于开发平台的功能调用方法,其特征在于,所述对所述用户需求进行分词处理,得到需求分词,包括:
对所述用户需求进行无意词删除,得到标准语料;
将所述标准语料按照不同的数据长度在预设的词典中进行检索,汇集从所述词典中检索到的与所述标准语料中相同的词语为所述用户需求的语料分词。
7.如权利要求1至6中任一项所述的基于开发平台的功能调用方法,其特征在于,所述根据所述目标编码与预设的用户标识生成调用请求,包括:
将所述目标编码与所述用户标识转换为数据字段;
将所述数据字段填充至预设的无参数数据请求中,得到含参数请求;
对所述含参数请求进行编译,得到所述调用请求。
8.一种基于开发平台的功能调用装置,其特征在于,所述装置包括:
源码拆分模块,用于获取预设的开发平台的源码,将所述源码拆分为所述开发平台中每个可调用功能对应的功能代码;
功能拆分模块,用于获取每个所述可调用功能的实现逻辑,根据所述实现逻辑将所述功能代码拆分为最小功能代码;
代码去重模块,用于对所述最小功能代码进行去重处理,并对去重后的最小功能代码进行不重复编码,得到每个最小功能代码对应的功能编码;
需求分析模块,用于获取用户需求,根据所述用户需求确定需要调用的目标功能,从所述功能编码中查询得到所述目标功能对应的目标编码;
功能调用模块,用于根据所述目标编码与预设的用户标识生成调用请求,利用所述调用请求对所述开发平台的功能进行调用。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的基于开发平台的功能调用方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的基于开发平台的功能调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446598.3A CN114138243A (zh) | 2021-11-30 | 2021-11-30 | 基于开发平台的功能调用方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446598.3A CN114138243A (zh) | 2021-11-30 | 2021-11-30 | 基于开发平台的功能调用方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138243A true CN114138243A (zh) | 2022-03-04 |
Family
ID=80386139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111446598.3A Pending CN114138243A (zh) | 2021-11-30 | 2021-11-30 | 基于开发平台的功能调用方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138243A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924728A (zh) * | 2022-05-18 | 2022-08-19 | 重庆长安汽车股份有限公司 | 代码化的整车电气原理设计方法、系统、车辆及存储介质 |
CN116560857A (zh) * | 2023-06-29 | 2023-08-08 | 北京轻松筹信息技术有限公司 | Agi平台调用管理方法、装置、存储介质及电子设备 |
-
2021
- 2021-11-30 CN CN202111446598.3A patent/CN114138243A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924728A (zh) * | 2022-05-18 | 2022-08-19 | 重庆长安汽车股份有限公司 | 代码化的整车电气原理设计方法、系统、车辆及存储介质 |
CN114924728B (zh) * | 2022-05-18 | 2024-05-10 | 重庆长安汽车股份有限公司 | 代码化的整车电气原理设计方法、系统、车辆及存储介质 |
CN116560857A (zh) * | 2023-06-29 | 2023-08-08 | 北京轻松筹信息技术有限公司 | Agi平台调用管理方法、装置、存储介质及电子设备 |
CN116560857B (zh) * | 2023-06-29 | 2023-09-22 | 北京轻松筹信息技术有限公司 | Agi平台调用管理方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113961584A (zh) | 字段血缘分析方法、装置、电子设备及存储介质 | |
CN113806434B (zh) | 大数据处理方法、装置、设备及介质 | |
CN114138243A (zh) | 基于开发平台的功能调用方法、装置、设备及存储介质 | |
CN113821622A (zh) | 基于人工智能的答案检索方法、装置、电子设备及介质 | |
CN113706322A (zh) | 基于数据分析的服务分发方法、装置、设备及存储介质 | |
CN114881616A (zh) | 业务流程执行方法、装置、电子设备及存储介质 | |
CN113887941A (zh) | 业务流程生成方法、装置、电子设备及介质 | |
CN113658002B (zh) | 基于决策树的交易结果生成方法、装置、电子设备及介质 | |
CN114840684A (zh) | 基于医疗实体的图谱构建方法、装置、设备及存储介质 | |
CN113434542A (zh) | 数据关系识别方法、装置、电子设备及存储介质 | |
CN112667244A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN115496166A (zh) | 多任务处理方法、装置、电子设备及存储介质 | |
CN115346095A (zh) | 视觉问答方法、装置、设备及存储介质 | |
CN114780688A (zh) | 基于规则匹配的文本质检方法、装置、设备及存储介质 | |
CN113626605A (zh) | 信息分类方法、装置、电子设备及可读存储介质 | |
CN113723114A (zh) | 基于多意图识别的语义分析方法、装置、设备及存储介质 | |
CN114518993A (zh) | 基于业务特征的系统性能监控方法、装置、设备及介质 | |
CN113705692A (zh) | 基于人工智能的情感分类方法、装置、电子设备及介质 | |
CN113887198A (zh) | 基于主题预测的项目拆分方法、装置、设备及存储介质 | |
CN113704587B (zh) | 基于阶段划分的用户黏着度分析方法、装置、设备及介质 | |
CN113672483B (zh) | 一种设备日志存储方法、装置、电子设备及介质 | |
CN114840601A (zh) | 用户标签体系构建方法、装置、设备及存储介质 | |
CN115098514A (zh) | 基于注解的场景识别方法、装置、电子设备及存储介质 | |
CN114491007A (zh) | 数据曝光方法、装置、设备及存储介质 | |
CN114637822A (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 |