CN109359438A - web端实现代码开源的方法及MC-Studio插件 - Google Patents

web端实现代码开源的方法及MC-Studio插件 Download PDF

Info

Publication number
CN109359438A
CN109359438A CN201811097906.4A CN201811097906A CN109359438A CN 109359438 A CN109359438 A CN 109359438A CN 201811097906 A CN201811097906 A CN 201811097906A CN 109359438 A CN109359438 A CN 109359438A
Authority
CN
China
Prior art keywords
application server
project
local
code
source code
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.)
Pending
Application number
CN201811097906.4A
Other languages
English (en)
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.)
Moore Element (xiamen) Technology Co Ltd
Original Assignee
Moore Element (xiamen) Technology Co Ltd
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 Moore Element (xiamen) Technology Co Ltd filed Critical Moore Element (xiamen) Technology Co Ltd
Priority to CN201811097906.4A priority Critical patent/CN109359438A/zh
Publication of CN109359438A publication Critical patent/CN109359438A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • 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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种web端实现代码开源的方法,使用MC‑Studio插件对应用服务器的URL进行配置;将所需项目源码从应用服务器上下载到本地开发环境上;运行应用服务器根据指定目录或文件查询数据库,获取所需的加密的源码;调用解密服务对加密的源码进行解密,将解密后源码缓存在应用服务器上并打成压缩包,并由应用服务器将压缩包发送给MC‑Studio插件;MC‑Studio插件将压缩包进行解压缩;在本地对源码文件进行修改,通过MC‑Studio插件将修改后的源码文件提交到应用服务器,由应用服务器调用加密服务对修改后源码文件加密后更新回数据库进行持久化保存。

Description

web端实现代码开源的方法及MC-Studio插件
技术领域
本发明涉及一种在web端实现代码开源的方法及其使用的MC-Studio 插件。
背景技术
在传统的代码开源方案中,基本都是通过svn(Subversion的简称,是一个开放源代码的版本控制系统),git(开源的分布式版本控制系统,是 Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件)等模式实现代码开源,但是这种模式有一个缺点,是程序源码无法与项目进行绑定。
为了改变这一现状,我们提供了另外一种全新的代码开源方案,通过自主研发的eclipse插件MC-Studio将代码同步至数据库中,实现了与项目一对一绑定,结合代码加解密,同步实现了动态编译与安全性问题。
发明内容
本发明要解决的技术问题,在于提供一种在web端实现代码开源的方法及MC-Studio插件,通过自主研发的eclipse插件MC-Studio将代码同步至数据库中,实现了与项目一对一绑定,结合代码加解密,同步实现了动态编译与安全性问题。
本发明方法是这样实现的:一种在web端实现代码开源的方法,包括:
步骤S1、在本地对应用服务器的URL(Uniform Resource Locator,统一资源定位符)进行配置,以连接应用服务器;
步骤S2、本地通过web将所需项目源码从应用服务器上下载到本地开发环境上;若是首次下载,所述的所需项目源码为整个项目的完整代码,或为非首次下载,只需下载相对上一次下载时有更新过的项目源码;
步骤S3、应用服务器根据指定目录或文件查询数据库,获取所需的加密的源码;
步骤S4、调用解密服务对加密的源码进行解密,将解密后源码缓存在应用服务器上并打成压缩包,并由应用服务器将压缩包发送给本地;
步骤S5、本地将压缩包进行解压缩,生成完整的web工程项目或生成 web工程项目的增量;
步骤S6、在本地对解压缩后的源码文件进行修改,将修改后的源码文件提交到应用服务器,由应用服务器调用加密服务对修改后源码文件加密后更新回数据库进行持久化保存。
进一步的,所述本地是通过MC-Studio插件与所述应用服务器进行交互的,所述MC-Studio插件由eclipse(是一个开放源代码的、基于Java的可扩展开发平台)或myeclipse(是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发)开发工具集成,且该MC-Studio插件包括:
配置模块,用于在本地对应用服务器的URL进行配置,以连接应用服务器;
下载模块,用于本地通过web将所需项目源码从应用服务器上下载到本地开发环境上;
解压缩模块,用于本地接收应用服务器的压缩包并进行解压缩;
提交模块,用于本地将修改后的源码文件提交到应用服务器。
进一步的,本发明还包括:
步骤S7、应用服务器把提交成功与否的结果信息反馈给MC-Studio插件,若结果信息为提交成功,则MC-Studio插件更新本地文件状态图标及版本信息。
本发明MC-Studio插件是这样实现的:由eclipse或myeclipse开发工具集成,且包括:
配置模块,用于在本地对应用服务器的URL进行配置,以连接应用服务器;
下载模块,用于本地通过web将所需项目源码从应用服务器上下载到本地开发环境上;若是首次下载,所述的所需项目源码为整个项目的完整代码,或为非首次下载,只需下载相对上一次下载时有更新过的项目源码;
解压缩模块,用于本地接收应用服务器的压缩包并进行解压缩,生成完整的web工程项目或生成web工程项目的增量;
提交模块,用于本地将修改后的源码文件提交到应用服务器。
本发明具有如下优点:通过自主研发的eclipse插件MC-Studio将工程项目代码下载到本地,在本地修改后再同步至应用服务器的数据库中,实现了与项目一对一绑定,结合代码加解密,同步实现了动态编译与安全性问题。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
图2为本发明的配置模块在本地对应用服务器的URL进行配置时的状态示意图。
具体实施方式
请参阅图1所示,本发明的在web端实现代码开源的方法,包括:
步骤S1、在本地对应用服务器的URL进行配置,以连接应用服务器;
步骤S2、本地通过web将所需项目源码从应用服务器上下载到本地开发环境上;若是首次下载,所述的所需项目源码为整个项目的完整代码,或为非首次下载,只需下载相对上一次下载时有更新过的项目源码;
步骤S3、应用服务器根据指定目录或文件查询数据库,获取所需的加密的源码;所述指定目录或文件为本次所选择要更新的文件目录树,源码项目中可指定目录更新源码,也可指定文件更新源码,类似svn更新操作,svn 可指定目录或文件更新源码;
步骤S4、调用解密服务对加密的源码进行解密,将解密后源码缓存在应用服务器上并打成压缩包,并由应用服务器将压缩包发送给本地;
步骤S5、本地将压缩包进行解压缩,生成完整的web工程项目或生成web工程项目的增量;
步骤S6、在本地对解压缩后的源码文件进行修改,将修改后的源码文件提交到应用服务器,由应用服务器调用加密服务对修改后源码文件加密后更新回数据库进行持久化保存。
步骤S7、应用服务器把提交成功与否的结果信息反馈给本地,若结果信息为提交成功,则更新本地文件状态图标及版本信息。
本发明方法由于更新后的项目源代码仍同步至应用服务器中,因此,当应用迁移时,源代码就随着应用一起迁移,大大方便了应用。
为方便本发明方法的实现,本发明还通过eclipse或myeclipse等开发工具集成了一MC-Studio插件,用于本地是与所述应用服务器之间的交互,该 MC-Studio插件包括:
配置模块,用于在本地对应用服务器的URL进行配置,以连接应用服务器;即如图2所示,填写连接信息,进行连接测试;
下载模块,用于本地通过web将所需项目源码从应用服务器上下载到本地开发环境上;若是首次下载,所述的所需项目源码为整个项目的完整代码,或为非首次下载,只需下载相对上一次下载时有更新过的项目源码;
解压缩模块,用于本地接收应用服务器的压缩包并进行解压缩,生成完整的web工程项目或生成web工程项目的增量,即对于首次下载来说,解压缩生成的是完整的web工程项目,若是非首次下载,解压缩生成的是web 工程项目的增量;
提交模块,用于本地将修改后的源码文件提交到应用服务器。
MC-Studio插件开发好后,将其插件包如MC-Studio_xxx.jar存放于 eclipse或myeclipse等开发工具dropins目录下。然后关闭自动编译(Build Automatically);关闭文件校验(Validation)功能,然后开始创建项目,有如下两种创建方式:
方法一:先创建web项目,更新为MC项目,操作成功,再从应用服务器上下载资源文件,修改指定文件完成后,提交到应用服务器;
方法二:创建[MC-Studio]项目,操作成功之后,再更新为MC项目,再从应用服务器上下载资源文件,修改指定文件完成后,提交到应用服务器。
应用服务器把提交成功与否的结果信息反馈给MC-Studio插件,若结果信息为提交成功,则MC-Studio插件更新本地文件状态图标及版本信息。本地文件状态图标及版本信息的展示方式如下:
(1)对于与当前同步版本完全一致的代码块会以图标一进行展示,如果同级java类或者jsp页面都是则上级目录也是用图标一展示;
(2)对于用户本地修改过的代码,会以图标二展示;上级目录也用图标二展示;
(3)对于用户本地修改过但是数据库中已经更新过不同版本的代码,会以图标三展示;上级目录也用图标三展示,表示冲突;当一个目录底下同时存在图标二和图标三两种图标时,则上级目录显示图标三。
用户即可通过上述三种图标一目了然地了解更新情况和冲突情况,非常方便。
综上所述,本发明通过自主研发的eclipse插件MC-Studio将工程项目代码下载到本地修改后再同步至应用服务器的数据库中,实现了与项目一对一绑定,结合代码加解密,同步实现了动态编译与安全性问题。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (4)

1.一种web端实现代码开源的方法,其特征在于:包括:
步骤S1、在本地对应用服务器的URL进行配置,以连接应用服务器;
步骤S2、本地通过web将所需项目源码从应用服务器上下载到本地开发环境上;若是首次下载,所述的所需项目源码为整个项目的完整代码,或为非首次下载,只需下载相对上一次下载时有更新过的项目源码;
步骤S3、应用服务器根据指定目录或文件查询数据库,获取所需的加密的源码;
步骤S4、调用解密服务对加密的源码进行解密,将解密后源码缓存在应用服务器上并打成压缩包,并由应用服务器将压缩包发送给本地;
步骤S5、本地将压缩包进行解压缩,生成完整的web工程项目或生成web工程项目的增量;
步骤S6、在本地对解压缩后的源码文件进行修改,将修改后的源码文件提交到应用服务器,由应用服务器调用加密服务对修改后源码文件加密后更新回数据库进行持久化保存。
2.根据权利要求1所述的web端实现代码开源的方法,其特征在于:还包括:所述本地是通过MC-Studio插件与所述应用服务器进行交互的,所述MC-Studio插件由eclipse或myeclipse开发工具集成,且该MC-Studio插件包括:
配置模块,用于在本地对应用服务器的URL进行配置,以连接应用服务器;
下载模块,用于本地通过web将所需项目源码从应用服务器上下载到本地开发环境上;
解压缩模块,用于本地接收应用服务器的压缩包并进行解压缩;
提交模块,用于本地将修改后的源码文件提交到应用服务器。
3.根据权利要求2所述的web端实现代码开源的方法,其特征在于:还包括:
步骤S7、应用服务器把提交成功与否的结果信息反馈给MC-Studio插件,若结果信息为提交成功,则MC-Studio插件更新本地文件状态图标及版本信息。
4.一种MC-Studio插件,其特征在于:由eclipse或myeclipse开发工具集成,且该MC-Studio插件包括:
配置模块,用于在本地对应用服务器的URL进行配置,以连接应用服务器;
下载模块,用于本地通过web将所需项目源码从应用服务器上下载到本地开发环境上;若是首次下载,所述的所需项目源码为整个项目的完整代码,或为非首次下载,只需下载相对上一次下载时有更新过的项目源码;
解压缩模块,用于本地接收应用服务器的压缩包并进行解压缩,生成完整的web工程项目或生成web工程项目的增量;
提交模块,用于本地将修改后的源码文件提交到应用服务器。
CN201811097906.4A 2018-09-20 2018-09-20 web端实现代码开源的方法及MC-Studio插件 Pending CN109359438A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811097906.4A CN109359438A (zh) 2018-09-20 2018-09-20 web端实现代码开源的方法及MC-Studio插件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811097906.4A CN109359438A (zh) 2018-09-20 2018-09-20 web端实现代码开源的方法及MC-Studio插件

Publications (1)

Publication Number Publication Date
CN109359438A true CN109359438A (zh) 2019-02-19

Family

ID=65351414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811097906.4A Pending CN109359438A (zh) 2018-09-20 2018-09-20 web端实现代码开源的方法及MC-Studio插件

Country Status (1)

Country Link
CN (1) CN109359438A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020835A (zh) * 2016-05-26 2016-10-12 浪潮电子信息产业股份有限公司 一种服务器软件源码开发管理方法
CN106484606A (zh) * 2015-09-01 2017-03-08 阿里巴巴集团控股有限公司 一种代码提交方法和设备
CN107885521A (zh) * 2017-12-11 2018-04-06 凌云天博光电科技股份有限公司 软件工程项目自动生成/更新方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484606A (zh) * 2015-09-01 2017-03-08 阿里巴巴集团控股有限公司 一种代码提交方法和设备
CN106020835A (zh) * 2016-05-26 2016-10-12 浪潮电子信息产业股份有限公司 一种服务器软件源码开发管理方法
CN107885521A (zh) * 2017-12-11 2018-04-06 凌云天博光电科技股份有限公司 软件工程项目自动生成/更新方法、装置及系统

Similar Documents

Publication Publication Date Title
US20230325177A1 (en) Systems and methods for application program and application program update deployment to a mobile device
KR102033672B1 (ko) 하나 이상의 확장 애플리케이션과 상호작용하는 메시징 애플리케이션
US10534533B2 (en) Messaging sticker applications
US8850424B2 (en) Processing, modification, distribution of installation packages
CN102981915B (zh) 一种应用程序间通信方法及装置
EP3417639B1 (en) Message extension app store
CN104657174A (zh) 一种用于动态实现应用功能的方法和装置
US8612947B2 (en) System and method for remotely compiling multi-platform native applications for mobile devices
CN103034546B (zh) iOS系统中应用程序间通信的方法及装置
CN104346184A (zh) 应用打包装置及方法
CN101389931A (zh) 具有间接命令分配的通信装置
CN104317573B (zh) 安卓安装包转换方法和装置以及运行应用的方法和装置
CN110096424A (zh) 测试的处理方法、装置、电子设备及存储介质
WO2012011196A1 (en) A system, method, and device for executing a composite service
CN109359438A (zh) web端实现代码开源的方法及MC-Studio插件
US11178221B2 (en) Methods, apparatuses and systems for cloud-based disaster recovery
CN104965720B (zh) 应用安装方法和装置
US20200192763A1 (en) Methods, apparatuses and systems for cloud-based disaster recovery
CN104539697B (zh) 一种客户端、服务器及制作安卓移动应用的方法
CN105912352A (zh) 一种移动终端升级的方法和终端
CN102137058A (zh) 一种基于tab页的页面访问方法和装置
CN105786532A (zh) 一种基于Web Service的版本更新方法
JP7453315B2 (ja) プログラム、情報処理装置、情報処理システム及び情報処理方法
US20140189076A1 (en) Configuration of computer systems via simple object access protocol connections

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