CN109359438A - web端实现代码开源的方法及MC-Studio插件 - Google Patents
web端实现代码开源的方法及MC-Studio插件 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012986 modification Methods 0.000 claims abstract description 5
- 230000004048 modification Effects 0.000 claims abstract description 5
- 230000002688 persistence Effects 0.000 claims abstract description 4
- 230000006837 decompression Effects 0.000 claims description 8
- 238000004321 preservation Methods 0.000 abstract 1
- 238000011160 research Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-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 插件。
背景技术
在传统的代码开源方案中,基本都是通过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工程项目的增量;
提交模块,用于本地将修改后的源码文件提交到应用服务器。
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)
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 | 凌云天博光电科技股份有限公司 | 软件工程项目自动生成/更新方法、装置及系统 |
-
2018
- 2018-09-20 CN CN201811097906.4A patent/CN109359438A/zh active Pending
Patent Citations (3)
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 |