CN111045680B - 可配置参数的静态链接库文件的生成方法 - Google Patents

可配置参数的静态链接库文件的生成方法 Download PDF

Info

Publication number
CN111045680B
CN111045680B CN201911049753.0A CN201911049753A CN111045680B CN 111045680 B CN111045680 B CN 111045680B CN 201911049753 A CN201911049753 A CN 201911049753A CN 111045680 B CN111045680 B CN 111045680B
Authority
CN
China
Prior art keywords
server
client
user
file
lib
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.)
Active
Application number
CN201911049753.0A
Other languages
English (en)
Other versions
CN111045680A (zh
Inventor
谢国军
杨耀
高文
袁凤培
贺耀宜
李继云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tiandi Changzhou Automation Co Ltd
Changzhou Research Institute of China Coal Technology and Engineering Group Corp
Original Assignee
Tiandi Changzhou Automation Co Ltd
Changzhou Research Institute of China Coal Technology and Engineering Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tiandi Changzhou Automation Co Ltd, Changzhou Research Institute of China Coal Technology and Engineering Group Corp filed Critical Tiandi Changzhou Automation Co Ltd
Priority to CN201911049753.0A priority Critical patent/CN111045680B/zh
Publication of CN111045680A publication Critical patent/CN111045680A/zh
Application granted granted Critical
Publication of CN111045680B publication Critical patent/CN111045680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种可配置参数的静态链接库文件的生成方法,该方法基于C/S架构的客户机以及服务器端的服务器实施,其中服务器端的服务器采用支持多用户端并发访问的Http方式对外开放接口,用户通过客户机与服务器端的服务器信息交互,通过上传包括用户标识、参数配置等信息,在服务器端的服务器生成相应定制的lib文件供用户下载到客户机上进行本地项目编译。本发明将所有需要保密的核心源代码均保存于服务器端,由服务器端保存的源代码包生成用户所需要的定制的lib文件,既能有效适应用户复杂多变的使用场景,又能有效保证核心源代码的安全。

Description

可配置参数的静态链接库文件的生成方法
技术领域
本发明涉及数据处理技术领域,具体涉及嵌入式开发过程中为保护源代码***露而设计的一种可配置参数的静态链接库文件的生成方法。
背景技术
静态链接库是目前广泛使用的lib文件,lib文件中存放的是函数调用的信息,在Windows操作***中起到连接程序和函数(或子过程)的作用,库中的代码最后需要链接到可执行文件中去,所以静态链接的可执行文件一般都比较大。
一些企业、部门或机构通常都有部分核心源代码需要严格保密,不能对外开放,在对外业务中只能提供lib文件给用户使用。传统为保护核心源代码而通过提供lib文件供客户使用的方式中,由于其内部参数和方法均是确定的,不能支持用户个性化定制lib文件,因而不能适应用户复杂多变的使用场景,适应性大受局限;为解决这一问题,有采取将源代码包加密供用户使用,支持用户修改用户配置在本地生成需要lib文件,虽然这种方式的源代码包是加密的,但是被下载到用户本地,依然存在源代码泄露的可能性,威胁企事业单位的核心利益。
本发明采用将用户标识、相关设置和配置文件等信息上传至服务器,服务器根据提供的信息,生成lib文件,供客户端下载使用。在本发明中,所有核心源代码都在服务器端保存,用户通过客户端程序将信息上传到服务器端,依赖服务器上保存的源代码包来生成需要的lib文件,支持用户定制所需的lib文件的情况下,保证了核心源代码的安全性。
发明内容
本发明的目的是:针对现有技术中存在的问题,提供一种可配置参数的静态链接库文件的生成方法,该方法将所有需要保密的核心源代码均保存于服务器端,用户通过客户端将包括用户标识、参数配置等相关信息上传到服务器端,由服务器端保存的源代码包生成用户所需要的定制的lib文件,既能有效适应用户复杂多变的使用场景,又能有效保证核心源代码的安全。
本发明的技术方案是:本发明的可配置参数的静态链接库文件的生成方法,其特征在于:该方法基于C/S架构的客户机以及服务器端的服务器实施,其中服务器端的服务器采用支持多用户端并发访问的Http方式对外开放接口,用户通过客户机与服务器端的服务器信息交互,在服务器端的服务器生成相应定制的lib文件供用户下载到客户机上进行项目编译,包括以下步骤:
①用户在客户机上启动执行客户端应用程序并自动进行逻辑判断:客户端程序首先判断其是否第一次执行,若否,则进入步骤②,若是,则进入步骤④;
②客户端应用程序进行配置文件扫描,判断在上一次获取lib文件后配置文件是否有修改,若是,则进入步骤④;若否,则客户端程序通过服务器端Http开放的Get/version方法查看服务器端的服务器保存的源代码包是否有更新,若是,则进入步骤④,若否,进入步骤③;
③用户在客户机上退出客户端应用程序,利用上一次获取的lib文件继续进行项目编译;
④用户在客户机上继续执行客户端程序,加载客户端界面,利用服务器端Http服务开放的Post/files方法将用户标识、配置文件以及包括CPU类型和源代码包类型的参数设置上传至服务器端;
⑤服务器端的服务器收到用户通过客户机上传的信息后,将上传信息中用户标识对应的客户端lib文件生成标记置为未知,根据上传的用户标识,新建生成lib文件的工作目录;将上传提交的配置文件保存到对应的工作目录下;根据上传提交的CPU类型和源代码包类型,拷贝指定的源代码包到对应的工作目录下,执行源代码包中的批处理文件,生成lib文件;Lib文件生成成功后,将用户标识对应的客户端的lib文件生成标记置为成功;
⑥用户在客户机上利用服务器端Http服务开放的Get/state方法,定时查询本客户端的lib文件生成标记是否为成功;若是,用户在客户机上利用服务器端Http服务开放的Get/lib方法,将服务器端已经生成好的lib文件下载到客户机上的本地项目目录下,并将本次操作信息进行本地保存;若否,则返回步骤④;
⑦用户在客户机上利用已下载好的lib文件,进行本地项目编译。
本发明具有积极的效果:本发明的可配置参数的静态链接库文件的生成方法,其通过将所有需要保密的核心源代码均保存于企事业单位自己的服务器端的服务器上,用户通过客户机将包括用户标识、参数配置等相关信息上传到服务器端,由服务器端保存的源代码包生成用户所需要的定制的lib文件供用户项目编译使用,从而既能有效适应不同用户复杂多变的使用场景,提高企事业平台代码的实用性,又能有效保证企事业单位核心源代码的安全。
具体实施方式
下面结合具体实施方式对本发明作进一步详细的说明。
(实施例1)
本实施例的可配置参数的静态链接库文件的生成方法,其基于C/S架构的客户机以及服务器端的服务器实施,其中服务器端的服务器采用支持多用户端并发访问的Http方式对外开放接口,用户通过客户机与服务器端的服务器信息交互,在服务器端的服务器生成相应定制的lib文件供用户下载到客户机上进行项目编译,包括以下步骤:
①用户在客户机上启动执行客户端应用程序并自动进行逻辑判断:客户端程序首先判断其是否第一次执行,若否,则进入步骤②,若是,则进入步骤④;
②客户端应用程序进行配置文件扫描,判断在上一次获取lib文件后配置文件是否有修改,若是,则进入步骤④;若否,则客户端程序通过服务器端Http开放的Get/version方法查看服务器端的服务器保存的源代码包是否有更新,若是,则进入步骤④,若否,进入步骤③;
③用户在客户机上退出客户端应用程序,利用上一次获取的lib文件继续进行项目编译;
④用户在客户机上继续执行客户端程序,加载客户端界面,利用服务器端Http服务开放的Post/files方法将用户标识、配置文件以及包括CPU类型和源代码包类型的参数设置上传至服务器端;
⑤服务器端的服务器收到用户通过客户机上传的信息后,将上传信息中用户标识对应的客户端lib文件生成标记置为未知,根据上传的用户标识,新建生成lib文件的工作目录;将上传提交的配置文件保存到对应的工作目录下;根据上传提交的CPU类型和源代码包类型,拷贝指定的源代码包到对应的工作目录下,执行源代码包中的批处理文件,生成lib文件;Lib文件生成成功后,将用户标识对应的客户端的lib文件生成标记置为成功;
⑥用户在客户机上利用服务器端Http服务开放的Get/state方法,定时查询本客户端的lib文件生成标记是否为成功;若是,用户在客户机上利用服务器端Http服务开放的Get/lib方法,将服务器端已经生成好的lib文件下载到客户机上的本地项目目录下,并将本次操作信息进行本地保存;若否,则返回步骤④;
⑦用户在客户机上利用已下载好的lib文件,进行本地项目编译。
以上实施例是对本发明的具体实施方式的说明,而非对本发明的限制,有关技术领域的技术人员在不脱离本发明的精神和范围的情况下,还可以做出各种变换和变化而得到相对应的等同的技术方案,因此所有等同的技术方案均应该归入本发明的专利保护范围。

Claims (1)

1.一种可配置参数的静态链接库文件的生成方法,其特征在于:该方法基于C/S架构的客户机以及服务器端的服务器实施,其中服务器端的服务器采用支持多用户端并发访问的Http方式对外开放接口,用户通过客户机与服务器端的服务器信息交互,在服务器端的服务器生成相应定制的lib文件供用户下载到客户机上进行项目编译,包括以下步骤:
①用户在客户机上启动执行客户端应用程序并自动进行逻辑判断:客户端程序首先判断其是否第一次执行,若否,则进入步骤②,若是,则进入步骤④;
②客户端应用程序进行配置文件扫描,判断在上一次获取lib文件后配置文件是否有修改,若是,则进入步骤④;若否,则客户端程序通过服务器端Http开放的Get/version方法查看服务器端的服务器保存的源代码包是否有更新,若是,则进入步骤④,若否,进入步骤③;
③用户在客户机上退出客户端应用程序,利用上一次获取的lib文件继续进行项目编译;
④用户在客户机上继续执行客户端程序,加载客户端界面,利用服务器端Http服务开放的Post/files方法将用户标识、配置文件以及包括CPU类型和源代码包类型的参数设置上传至服务器端;
⑤服务器端的服务器收到用户通过客户机上传的信息后,将上传信息中用户标识对应的客户端lib文件生成标记置为未知,根据上传的用户标识,新建生成lib文件的工作目录;将上传提交的配置文件保存到对应的工作目录下;根据上传提交的CPU类型和源代码包类型,拷贝指定的源代码包到对应的工作目录下,执行源代码包中的批处理文件,生成lib文件;Lib文件生成成功后,将用户标识对应的客户端的lib文件生成标记置为成功;
⑥用户在客户机上利用服务器端Http服务开放的Get/state方法,定时查询本客户端的lib文件生成标记是否为成功;若是,用户在客户机上利用服务器端Http服务开放的Get/lib方法,将服务器端已经生成好的lib文件下载到客户机上的本地项目目录下,并将本次操作信息进行本地保存;若否,则返回步骤④;
⑦用户在客户机上利用已下载好的lib文件,进行本地项目编译。
CN201911049753.0A 2019-10-31 2019-10-31 可配置参数的静态链接库文件的生成方法 Active CN111045680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911049753.0A CN111045680B (zh) 2019-10-31 2019-10-31 可配置参数的静态链接库文件的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911049753.0A CN111045680B (zh) 2019-10-31 2019-10-31 可配置参数的静态链接库文件的生成方法

Publications (2)

Publication Number Publication Date
CN111045680A CN111045680A (zh) 2020-04-21
CN111045680B true CN111045680B (zh) 2022-05-06

Family

ID=70232631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911049753.0A Active CN111045680B (zh) 2019-10-31 2019-10-31 可配置参数的静态链接库文件的生成方法

Country Status (1)

Country Link
CN (1) CN111045680B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511933A (zh) * 2015-12-03 2016-04-20 深圳市创维软件有限公司 一种源代码的编译方法及相关设备
CN107577469A (zh) * 2017-08-21 2018-01-12 厦门悦讯教育科技有限公司 一种软件打包发布管理方法
CN107632826A (zh) * 2016-07-14 2018-01-26 腾讯科技(深圳)有限公司 一种源代码的编译方法和客户端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511933A (zh) * 2015-12-03 2016-04-20 深圳市创维软件有限公司 一种源代码的编译方法及相关设备
CN107632826A (zh) * 2016-07-14 2018-01-26 腾讯科技(深圳)有限公司 一种源代码的编译方法和客户端
CN107577469A (zh) * 2017-08-21 2018-01-12 厦门悦讯教育科技有限公司 一种软件打包发布管理方法

Also Published As

Publication number Publication date
CN111045680A (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
US6026438A (en) Dynamic workstation configuration processor
US6944857B1 (en) Method, system, computer program product, and article of manufacture for updating a computer program according to a stored configuration
CN104572237A (zh) 一种UKey安装包自动快速生成***及其方法
CN107291525A (zh) 一种部署虚拟机的方法、宿主机及***
KR20050010714A (ko) 데이터의 인트라 패키지 델타 압축을 위한 시스템 및 방법
WO2020015191A1 (zh) 业务规则的发布管理方法、电子装置及可读存储介质
CN106843976B (zh) 用于生成镜像文件的方法和装置
CN102930190B (zh) 一种在安卓***中阻止用户获取超级用户权限的方法
CN113342323B (zh) 软件在线开发的方法及装置
CN106326691B (zh) 加解密功能的实现方法、装置及服务器
CN102056172A (zh) 一种智能卡及其进行鉴权的方法
Stöckle et al. Automated implementation of windows-related security-configuration guides
CN111045680B (zh) 可配置参数的静态链接库文件的生成方法
CN106971111A (zh) 数据加密方法、终端及服务器
US7703092B1 (en) Method, system, computer program product, and article of manufacture for installation and configuration of a computer program according to a stored configuration
CN111158773A (zh) 一种ks引导自动化批量装机的方法及***
KR101930056B1 (ko) 보안 정책을 지원하는 단말 관리 방법 및 장치
US11249742B1 (en) Systems and methods for zero-touch infrastructure build automation
CN115495068A (zh) Vue页面生成方法及装置
EP3872625A1 (en) Method and system for managing an app
WO2022047278A1 (en) Systems and methods for graphical programming and deployment of distributed ledger applications
CN112580101A (zh) 一种数据解密方法及终端
CN111427589B (zh) 一种大数据集群资源管理***的数据空间部署方法和装置
CN113360143A (zh) 远程软件开发方法、装置、存储介质及处理器
CN102137058A (zh) 一种基于tab页的页面访问方法和装置

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
GR01 Patent grant
GR01 Patent grant