[发明专利]动态链接库SO文件的加载方法、装置及存储介质有效
| 申请号: | 201910557353.4 | 申请日: | 2019-06-25 |
| 公开(公告)号: | CN110471690B | 公开(公告)日: | 2021-09-14 |
| 发明(设计)人: | 范枭鹏;甄志坚;赵慧子;康林林;王沅召 | 申请(专利权)人: | 珠海格力电器股份有限公司;珠海联云科技有限公司 |
| 主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F9/445;G06F9/52 |
| 代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 王卫忠 |
| 地址: | 519070*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 动态 链接 so 文件 加载 方法 装置 存储 介质 | ||
1.一种动态链接库SO文件的加载方法,其特征在于,包括:
当接收到访问请求时,确定接收所述访问请求的端口;
判断所述端口是否为动态链接库SO文件更新端口;
若所述端口为动态链接库SO文件更新端口,调用本地预先配置的程序代码,加载目标动态链接库SO文件;
其中,以注释的方式在GO语言服务器中的应用程序引入所述程序代码;
从所述目标动态链接库SO文件中读取目标库函数,并将所述目标库函数缓存至内存对应的缓存地址中;
将库函数指针指向的地址设置为所述缓存地址;
向用户返回动态链接库SO文件的更新结果。
2.根据权利要求1所述的方法,其特征在于,所述将库函数指针指向的地址设置为所述缓存地址,包括:
对所述库函数指针加锁;
在所述库函数指针加锁的过程中,将库函数指针指向的地址设置为所述缓存地址;
在对所述库函数指针指向的地址进行修改后,对所述库函数指针解锁。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收所述访问请求的端口非动态链接库SO文件更新端口,则判断接收所述访问请求的端口是否为动态链接库SO文件调用端口;
若接收所述访问请求的端口为动态链接库SO文件调用端口,则获取库函数指针;
根据所述访问请求,确定库函数指针指向的地址;
获取所述库函数指针指向的地址对应的库函数,并返回给用户。
4.根据权利要求3所述的方法,其特征在于,所述获取所述库函数指针指向的地址对应的库函数,并返回给用户,包括:
对所述库函数指针加锁;
在所述库函数指针加锁的过程中,获取所述库函数指针指向的地址对应的库函数,并返回给用户;
在获取所述库函数指针指向的地址对应的库函数后,对所述库函数指针解锁。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述当接收到用户输入的访问请求时,确定接收所述访问请求的端口,包括:
按照预设的监测周期,监测动态链接库SO文件更新端口以及动态链接库SO文件调用端口是否接收到用户输入的访问请求;
当接收到用户输入的访问请求时,确定接收所述访问请求的端口。
6.一种动态链接库SO文件的加载装置,其特征在于,所述装置包括:
端口确定模块,用于当接收到访问请求时,确定接收所述访问请求的端口;
判断模块,用于判断所述端口是否为动态链接库SO文件更新端口;
文件加载模块,用于若所述端口为动态链接库SO文件更新端口,调用本地预先配置的程序代码,加载目标动态链接库SO文件;
其中,以注释的方式在GO语言服务器中的应用程序引入所述程序代码;
所述装置还具体用于:
从所述目标动态链接库SO文件中读取目标库函数,并将所述目标库函数缓存至内存对应的缓存地址中;
将库函数指针指向的地址设置为所述缓存地址;
向用户返回动态链接库SO文件的更新结果。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至5任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海格力电器股份有限公司;珠海联云科技有限公司,未经珠海格力电器股份有限公司;珠海联云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910557353.4/1.html,转载请声明来源钻瓜专利网。





