一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种库函数通用调用方法及系统与流程

2022-05-31 17:28:41 来源:中国专利 TAG:


1.本发明涉及计算机科学技术领域,具体涉及一种库函数通用调用方法及系统、电子设备和可读存储介质。


背景技术:

2.现有技术中,当终端不同模块的函数参数类型只有固定的n种时,将可能出现的函数类型进行一一枚举。调用时,根据具体情况选择对应类型的指针,进行库函数调用。通过完全列举函数参数类型的实现方案,一方面拓展性较差,后续其他模块新增或变化restful接口时,必需按照固定的几种函数类型进行设计和实现。另一方面,当固定的函数类型较多时,在实际调用时选择对应格式函数指针的过程,存在一定的寻址时间产生性能消耗。
3.因此,有必要提供一种库函数调用方法,提升库函数调用的可拓展性和通用性。


技术实现要素:

4.解决的技术问题针对现有技术所存在的上述缺点,本发明提供了一种库函数通用调用方法,该方法可以提升库函数调用的可拓展性和通用性。
5.技术方案为实现以上目的,本发明通过以下技术方案予以实现:本发明提供一种库函数通用调用方法,包括如下步骤:s1、配置多个库函数,将所述多个库函数进行编译并存储于高速缓存中,每一个库函数对应一个restful接口;s2、配置安全联动中心,所述安全联动中心用于通过所述restful接口调用所述库函数;s3、配置基于抽象参数类型的函数指针,并将被调用库函数名和实参输入所述函数指针;s4、获取指针赋值,所述指针赋值通过所述被调用库函数名和实参抽象得到;s5、输出所述指针赋值给所述安全联动中心,以使所述安全联动中心调用对应库函数。
6.进一步地,所述安全联动中心与所述restful接口的传输协议为http协议。
7.进一步地,步骤s1具体包括:将提供调用的库函数信息整理成文档,系统启动时将库函数名称按照特定规则映射至一url,该url中包含函数名称,以使所述http协议的请求url与库函数进行对应调用。
8.进一步地,所述安全联动中心监测数据访问层判断是否有所述函数指针,如果监测到所述数据访问层有所述函数指针,从所述高速缓存中调用对应的所述库函数。
9.基于同一发明构想,本发明还提供了一种库函数通用调用系统,包括:配置模块,用于配置多个库函数;
存储模块,用于将所述多个库函数进行编译并存储于高速缓存中;安全联动中心,所述安全联动中心用于通过restful接口调用所述库函数;函数指针,用于输入被调用库函数名和实参,并根据所述被调用库函数名和实参抽象得到指针赋值,并输出给所述安全联动中心,以使所述安全联动中心调用对应库函数。
10.进一步地,所述安全联动中心还包括第一监测模块,用于监测数据访问层是否有所述函数指针;第一执行模块,用于如果监测到所述数据访问层有所述函数指针,从所述高速缓存中根据所述函数指针输出的指针赋值调用对应库函数。
11.进一步地,还包括:第二监测模块,用于监测所述库函数被执行过程中是否生成返回值;判断模块,用于根据监测结果判断所述库函数是否被调用完毕;第二执行模块,用于如果判断所述库函数被执行完毕,则以预定规则调用下一库函数。
12.基于同一发明构想,本发明还提供了一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现上述任一项所述的方法。
13.基于同一发明构想,本发明还提供了一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的方法。
14.有益效果本发明提供的技术方案,与已知的公有技术相比,具有如下有益效果:采用本发明的方案可使得安全联动中心与具体涉及的函数类型低耦合,增强了系统各功能模块的可拓展性,极大地降低了联动中心随之适配升级所产生的运维成本。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本发明一实施例提供的库函数通用调用方法流程示意图;图2为本发明一实施例提供的库函数通用调用系统示意图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.参阅图1,本发明提供一种库函数通用调用方法,包括如下步骤:s1、配置多个库函数,将所述多个库函数进行编译并存储于高速缓存中,每一个库函数对应一个restful接口;
s2、配置安全联动中心,所述安全联动中心用于通过所述restful接口调用所述库函数;s3、配置基于抽象参数类型的函数指针,并将被调用库函数名和实参输入所述函数指针;s4、获取指针赋值,所述指针赋值通过所述被调用库函数名和实参抽象得到;s5、输出所述指针赋值给所述安全联动中心,以使所述安全联动中心调用对应库函数。
19.由于安全联动中心通过restful接口向外部提供调用本地restful接口的能力,其在启动时将各个模块的函数注册为对应具体url的restful接口,外部调用者将请求的模块名称、函数名称和具体参数组织为https请求报文,远程调用终端上对应的函数。终端各个模块的函数类型多样且复杂,通过动态库调用函数的常规前提为必需将函数类型声明,利用对应类型的函数指针接收dlsym所返回的函数入口地址。实际业务场景,新增函数类型时,安全联动中心需要针对新增的类型进行定义和适配重新编译后才能调度。这种常规部署方式,由于联动中心与具体业务对应的函数类型存在一定耦合性,导致可拓展性很差,安全联动中心后续频繁升级会带来巨大的运维成本。本发明所实现的技术方案,可较好地解决此问题。本发明基于抽象参数类型的函数指针并结合dl(dlopen、dlsym、dlclose)库函数使用时,被调用函数名、实参均可以通过外部传入, dlsym获取指针赋值抽象参数函数指针,再根据传入参数按指定类型及顺序入栈,完成接口调用。
20.在本实施例中,所述安全联动中心与所述restful接口的传输协议为http协议。步骤s1具体包括:将提供调用的库函数信息整理成文档,系统启动时将库函数名称按照特定规则映射至一url,该url中包含函数名称,以使所述http协议的请求url与库函数进行对应。所述安全联动中心监测数据访问层判断是否有所述函数指针,如果监测到所述数据访问层有所述函数指针,从所述高速缓存中调用对应的所述库函数。
21.基于同一发明构想,参阅图2,本发明还提供了一种库函数通用调用系统,包括:配置模块301,用于配置多个库函数;存储模块302,用于将所述多个库函数进行编译并存储于高速缓存中;安全联动中心,所述安全联动中心用于通过restful接口调用所述库函数;函数指针,用于输入被调用库函数名和实参,并根据所述被调用库函数名和实参抽象得到指针赋值,并输出给所述安全联动中心,以使所述安全联动中心调用对应库函数。
22.在本实施例中,所述安全联动中心还包括第一监测模块303,用于监测数据访问层是否有所述函数指针;第一执行模块304,用于如果监测到所述数据访问层有所述函数指针,从所述高速缓存中根据所述函数指针输出的指针赋值调用对应库函数。第二监测模块305,用于监测所述库函数被执行过程中是否生成返回值;判断模块306,用于根据监测结果判断所述数据库目标函数是否被调用完毕;第二执行模块307,用于如果判断所述库函数被执行完毕,则以预定规则调用下一库函数。
23.基于同一发明构想,本发明还提供了一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述库函数通用调用方法。
24.所述处理器在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器(例如gpu(graphics processing unit-图形处理器))、
或其他数据处理芯片。该处理器通常用于控制所述电子设备的总体操作。本实施例中,所述处理器用于运行所述存储器中存储的程序代码或者处理数据,例如运行所述的库函数通用调用方法的方法的程序代码。
25.所述存储器至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器可以是所述电子设备的内部存储单元,例如该电子设备的硬盘或内存。在另一些实施例中,所述存储器也可以是所述电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。当然,所述存储器还可以既包括所述电子设备的内部存储单元也包括其外部存储设备。本实施例中,所述存储器通常用于存储安装于所述电子设备的操作方法和各类应用软件,例如所述库函数通用调用方法的程序代码等。此外,所述存储器还可以用于暂时地存储已经输出或者将要输出的各类数据。
26.基于同一发明构想,本发明还提供一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现所述库函数通用调用方法。
27.本发明的优点在于可使得安全联动中心与具体涉及的函数类型低耦合,增强了系统各功能模块的可拓展性,极大地降低了联动中心随之适配升级所产生的运维成本。
28.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献