The embodiment of the invention relates to a loading method, a device and a storage medium of a dynamic link library so file; the method is applied to an application program in a go language server, including: when receiving an access request, determining the port for receiving the access request; judging whether the port is a dynamic link library so file update port; if the port is a dynamic link library so file Update the port, call the local pre configured program code, load the target dynamic link library so file. In this way, the dynamic link library so file can be dynamically realized by setting the program code in the application program in the go language server in a preset way, running independently of the application program in the go language server, calling the local pre configured program code, loading the target dynamic link library so file entered by the user, without stopping the operation of the application program and restarting the application program Hot loading of.
【技术实现步骤摘要】
动态链接库SO文件的加载方法、装置及存储介质
本专利技术实施例涉及计算机
,尤其涉及一种动态链接库SO文件的加载方法及、装置及存储介质。
技术介绍
动态链接库SO文件,是指linux平台下文件名以.so结尾的文件,里面包含有完成某一特定服务的函数。为了便于管理众多的动态链接库SO文件,可以将动态链接库SO文件存储于服务器中,例如GO语言服务器。针对GO语言服务器,可以向用户提供动态链接库SO文件的调用功能。目前由于动态链接库SO文件需要进行版本升级,需要将最新的动态链接库SO文件加载至GO语言服务器,将GO语言服务器中的动态链接库SO文件替换为最新的动态链接库SO文件。现有技术中,在对GO语言服务器中动态链接库SO文件进行版本升级的过程中,加载动态链接库SO文件的实现方式为:将动态链接库SO文件引入至应用程序中工程代码,在应用程序工程代码中编译动态链接库SO文件。如此在GO语言服务器中对动态链接库SO文件进行版本升级的过程中,需要停止应用程序的运行,然后重启应用程序。
技术实现思路
鉴于此,为解决现有技术中在对动态链接库SO文件进行版本升级的过程中,需要停止应用程序的运行,然后重启应用程序的技术问题,本专利技术实施例提供一种动态链接库SO文件的加载方法及、装置及存储介质。第一方面,本专利技术实施例提供一种动态链接库SO文件的加载方法,包括:当接收到访问请求时,确定接收所述访问请求的端口;判断所述端口是否为动态链接库SO文件更新端口;若所 ...
【技术保护点】
1.一种动态链接库SO文件的加载方法,其特征在于,包括:/n当接收到访问请求时,确定接收所述访问请求的端口;/n判断所述端口是否为动态链接库SO文件更新端口;/n若所述端口为动态链接库SO文件更新端口,调用本地预先配置的程序代码,加载目标动态链接库SO文件;/n其中,所述程序代码采用预设的方式设置于所述应用程序中。/n
【技术特征摘要】
1.一种动态链接库SO文件的加载方法,其特征在于,包括:
当接收到访问请求时,确定接收所述访问请求的端口;
判断所述端口是否为动态链接库SO文件更新端口;
若所述端口为动态链接库SO文件更新端口,调用本地预先配置的程序代码,加载目标动态链接库SO文件;
其中,所述程序代码采用预设的方式设置于所述应用程序中。
2.根据权利要求1所述的方法,其特征在于,所述程序代码采用预设的方式设置于所述应用程序中,包括:
以注释的方式在GO语言服务器中的应用程序引入程序代码。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述目标动态链接库SO文件中读取目标库函数,并将所述目标库函数缓存至内存对应的缓存地址中;
将库函数指针指向的地址设置为所述缓存地址;
向用户返回动态链接库SO文件的更新结果。
4.根据权利要求3所述的方法,其特征在于,所述将库函数指针指向的地址设置为所述缓存地址,包括:
对所述库函数指针加锁;
在所述库函数指针加锁的过程中,将库函数指针指向的地址设置为所述缓存地址;
在对所述库函数指针指向的地址进行修改后,对所述库函数指针解锁。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收所述访问请求的端口非动态链接库SO文件更新端口,则判断接收所述访问请求的端口是否为动态链接库SO文件调用端口;
若接收所述访问请求的端口为动态链接库SO文件调用端口,则获取库函数指针;
根据所述访问请求,确定库函数指针指向的地址;
获...
【专利技术属性】
技术研发人员:范枭鹏,甄志坚,赵慧子,康林林,王沅召,
申请(专利权)人:珠海格力电器股份有限公司,珠海联云科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。