[发明专利]一种基于动态编译的客户端软件运行方法有效
申请号: | 201710034361.1 | 申请日: | 2017-01-18 |
公开(公告)号: | CN106843994B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 辛爱国;杨振江;党艳平 | 申请(专利权)人: | 北京北信源软件股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/54 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰 |
地址: | 100081 北京市海淀区中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 编译 客户端 软件 运行 方法 | ||
本发明提供一种基于动态编译的客户端软件运行方法,包括以下步骤:将客户端的功能模块的源码加密后根据功能模块的功能和依赖关系存储在服务端的数据库中;安装极简客户端并从客户端的功能模块的动态库获取业务逻辑所对应的功能接口并执行业务逻辑。本发明具有适用于商业软件、安全性高、适用性强、实现简单等优点。
技术领域
本发明涉及基于客户端/服务器(C/S)架构的计算机技术领域,并且更具体地涉及一种基于动态编译的客户端软件运行方法。
背景技术
Linux操作系统通常是以RPM或DEB安装包安装客户端软件的,为了适应不同的计算机平台以及Linux内核和发行版本之间的差异,开发人员通常需要对相应的版本以及平台进行适配,重新编译、打包、测试才能将RPM或DEB安装包投入使用。
现有的技术有基于源码安装的RPM和DEB开源软件,以及通过编译宏对代码进行控制,来实现对多样性平台的适配。然而,基于源码安装RPM和DEB开源软件的方式很显然不适用于商业软件;通过编译宏以实现对代码的这种控制来实现对多样性平台的适配,这种控制方式对于所需支持的环境来说编译量大、编译方式多,并且当所维护的代码量规模较大的时候,难以实施。
发明内容
针对上述现有技术中存在的问题,本发明的目的在于提供一种基于动态编译的客户端软件运行方法,其基于动态连接的C/S架构实现对复杂环境下客户端软件进行安装并对软件进行滚动升级,以解决商业软件在计算机多样性硬件平台以及多种Linux发行版本的复杂环境下,人工对软件进行适配所带来的各种问题。
为了实现上述目的,本发明采用的技术方案如下:
一种基于动态编译的客户端软件运行方法,包括以下步骤:
将客户端的各个功能模块的源码加密后根据所述功能模块的功能和依赖关系存储在服务端的数据库中;
安装极简客户端并从客户端的功能模块的动态库获取业务逻辑所对应的功能接口并执行业务逻辑;
根据本发明的一个实施例,获取业务逻辑所对应的功能接口包括判断客户端是否连接到业务逻辑对应的功能模块的动态库,如果是,获取动态库的功能接口并执行业务逻辑,否则,客户端与服务端通讯以从服务端获取功能模块的源码。
根据本发明的一个实施例,方法进一步包括扫描客户端的软、硬件系统环境并将扫描结果存储在本地数据库中以在客户端与服务端通讯时提供给服务端。
根据本发明的一个实施例,当客户端不能连接到业务逻辑对应的功能模块的动态库时,服务端在客户端索取功能模块的源码的情况下询问客户端的软、硬件系统环境并基于客户端的软、硬件系统环境判断是否可以从服务端的数据库中适配到功能模块的源码,如果是,服务端将适配到的功能模块的源码发送给客户端,否则,服务端发送功能缺失错误码给客户端。
根据本发明的一个实施例,当服务端从服务端的数据库中适配到多个功能模块的源码时,服务端将优先级最高的功能模块的源码发送给客户端。
根据本发明的一个实施例,当服务端从服务端的数据库中适配到功能模块的源码时,客户端将从服务端获取的功能模块的源码解密并编译为动态库,并将动态库的文件存储到相应目录中。
根据本发明的一个实施例,方法进一步包括升级服务端的数据库中的功能模块的源码。
根据本发明的一个实施例,基于升级服务端的源码,客户端在空闲时间或特定时间将动态库中功能模块的版本号与服务端的数据库中功能模块的版本号进行对比,以更新动态库中功能模块的源码。
根据本发明的一个实施例,极简客户端仅包含核心模块而不包含任何功能模块以具有不受系统环境限制的高度可移植性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北信源软件股份有限公司,未经北京北信源软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710034361.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无人机的丝扣悬挂式连接结构
- 下一篇:机臂限位结构及无人机