首页> 中国专利> 一种云程序开发运行系统、方法及装置

一种云程序开发运行系统、方法及装置

摘要

本发明涉及互联网云开发技术领域,尤其涉及一种云程序开发运行系统、方法及装置。该云程序开发运行系统包括:客户端及云服务器;客户端,用于通过程序开发通道开发云程序代码并向云服务器发送开发的云程序代码;还用于向云服务器发送执行云程序代码请求,并执行云服务器返回的客户端目标代码;云服务器,用于向客户端提供程序开发通道,并接收客户端发送的云程序代码;还用于响应客户端发送的执行云程序代码请求生成以及向发送该请求的客户端发送客户端目标代码。本发明实施例的云程序开发运行系统、方法及装置可以改善现有技术中程序开发效率较低的问题。

著录项

  • 公开/公告号CN104935660A

    专利类型发明专利

  • 公开/公告日2015-09-23

    原文格式PDF

  • 申请/专利权人 北京智友信诚科技有限公司;

    申请/专利号CN201510338945.9

  • 发明设计人 邹志华;

    申请日2015-06-17

  • 分类号

  • 代理机构北京超凡志成知识产权代理事务所(普通合伙);

  • 代理人潘俊林

  • 地址 100000 北京市朝阳区朝阳路8号12层1单元1207

  • 入库时间 2023-12-18 11:04:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-06

    授权

    授权

  • 2015-10-21

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20150617

    实质审查的生效

  • 2015-09-23

    公开

    公开

说明书

技术领域

本发明涉及互联网云开发技术领域,具体而言,涉及一种云程 序开发运行系统、方法及装置。

背景技术

互联网、云计算技术飞速发展,然而计算机程序的开发过程及 方法却依然采取比较保守的方式,即开发人员需要同时开发服务器 与客户端两侧的代码逻辑,一般地由于服务器端与客户端开发语言 不同,要求开发人员同时具有服务器及客户端开发背景,对开发人 员要求比较高,而且传统的客户端编程工具代码提示率相对比较低, 不适合大规模集群开发;而且由于客户的需求不尽相同,开发完成 的应用程序也难以满足各类客户的实际个性化需求。

基于上述各类因素的影响使得当前计算机应用程序开发的效率 相对比较低。

发明内容

本发明的目的在于提供一种云程序开发运行系统、方法及装置, 以改善应用程序开发效率相对比较低的问题。

第一方面,本发明实施例提供了一种云程序开发运行系统,包 括:客户端及云服务器;所述客户端,用于通过程序开发通道开发 云程序代码并向所述云服务器发送开发的所述云程序代码;还用于 向所述云服务器发送执行云程序代码请求,并执行所述云服务器返 回的客户端目标代码,其中,所述云程序代码包括:云服务器逻辑 代码、客户端逻辑代码以及相关设置,所述相关设置包括云服务器 逻辑代码设置及客户端逻辑代码设置;所述云服务器,用于向所述 客户端提供所述程序开发通道,并接收客户端发送的云程序代码; 还用于响应客户端发送的执行云程序代码请求生成以及向发送该请 求的客户端发送客户端目标代码。

结合第一方面,本发明实施例提供了第一方面的第一种可能的 实施方式,其中,所述云服务器,还用于将所述云程序代码按照运 行环境的不同分别在不同的位置进行存储,且不同运行环境下数据 完全隔离。

结合第一方面,本发明实施例提供了第一方面的第二种可能的 实施方式,其中,所述系统还包括:中间对象订阅服务器,用于接 收客户端发送的对象构造请求,并从云服务器中获取与所述对象构 造请求相对应的客户端目标代码发送至所述客户端,其中,所述对 象构造请求包括对包、类、方法及方法形参中的一种或多种的构造 请求。

结合第一方面,本发明实施例提供了第一方面的第三种可能的 实施方式,其中,所述系统还包括:运行监控服务器,用于对所述 客户端目标代码的生成过程进行监控;还用于对超过预设时间范围 的请求执行停止或关闭操作。

结合第一方面,本发明实施例提供了第一方面的第四种可能的 实施方式,其中,所述系统还包括:定时任务服务器,用于定时执 行所述云服务器中的既定的云服务器逻辑代码。

结合第一方面,本发明实施例提供了第一方面的第五种可能的 实施方式,其中,所述系统还包括:云程序代码包共享服务器,用 于将多个所述云程序代码打包形成云程序代码包,所述云程序代码 包内的每个云程序代码可分别在设置的多个运行环境内运行。

第二方面,本发明实施例还提供了一种云程序开发运行方法, 包括:云服务器接收并保存客户端开发完成的云程序代码,其中, 所述云程序代码包括:云服务器逻辑代码、客户端逻辑代码以及相 关设置,所述相关设置包括云服务器逻辑代码设置及客户端逻辑代 码设置;所述云服务器响应客户端发送的执行云程序代码请求,并 基于所述相关设置编译、缓存、执行所述云程序代码内的云服务器 逻辑代码,生成云程序代码的运行环境及数据信息,并结合相应的 客户端逻辑代码,生成客户端目标代码;所述云服务器将生成的所 述客户端目标代码发送给发起所述请求的客户端,以使所述客户端 执行所述客户端目标代码。

结合第二方面,本发明实施例提供了第二方面的第一种可能的 实施方式,其中,所述云服务器将所述云程序代码按照运行环境的 不同分别在不同的位置进行存储,且不同运行环境下的云程序代码 的存储位置进行完全隔离。

结合第二方面,本发明实施例提供了第二方面的第二种可能的 实施方式,其中,该方法还包括:中间对象订阅服务器接收客户端 发送的对象构造请求,并从云服务器中获取与所述对象构造请求相 对应的客户端目标代码发送至所述客户端,其中,所述对象构造请 求包括对包、类、方法及方法形参中的一种或多种的构造请求。

结合第二方面,本发明实施例提供了第二方面的第三种可能的 实施方式,其中,该方法还包括:运行监控服务器对所述客户端目 标代码的生成过程进行监控;并对超过预设时间范围的请求执行停 止或关闭操作。

结合第二方面,本发明实施例提供了第二方面的第四种可能的 实施方式,其中,该方法还包括:为每个运行环境中的云程序代码 设置唯一可识别的代码标识。

第三方面,本发明实施例还提供了一种云服务器,包括:开发 通道提供模块,用于向客户端提供程序开发通道;代码接收模块, 用于接收客户端发送的云程序代码,其中,所述云程序代码包括: 云服务器逻辑代码、客户端逻辑代码以及相关设置,所述相关设置 包括云服务器逻辑代码设置及客户端逻辑代码设置;请求接收响应 模块,用于响应客户端发送的执行云程序代码请求生成以及向发送 该请求的客户端发送客户端目标代码。

第四方面,本发明实施例还提供了一种客户端,包括:程序开 发模块,用于通过云服务器提供的程序开发通道开发云程序代码, 其中,所述云程序代码包括:云服务器逻辑代码、客户端逻辑代码 以及相关设置,所述相关设置包括云服务器逻辑代码设置及客户端 逻辑代码设置;代码发送模块,用于向所述云服务器发送开发的所 述云程序代码;代码请求及执行模块,用于向所述云服务器发送执 行云程序代码请求,并执行所述云服务器返回的客户端目标代码。

本发明实施例的云程序开发运行系统、方法及装置,客户端可 以根据自身的需求对云服务器提供的应用程序二次开发,并将开发 的云程序代码存储到云服务器中;当客户端需要运行应用程序时, 可以向云服务器发送请求,其所请求的应用程序可以是云服务器定 制的标准应用程序,也可以为其自身或其它客户端再次开发后的应 用程序,可以看出,本发明实施例的方案中,客户端及云服务器两 端均具有程序开发的功能,尤其,客户端可以根据自身的需求对应 用程序二次开发,使得云服务器提供的应用更能满足用户的个性化 需求。另外,云服务器和客户端均具有程序开发的功能,可以令两 端采用相同的开发语言,降低应用程序开发及再次开发的难度。由 此本发明实施例的云程序开发运行系统、方法及装置,能够相对提 高应用程序开发的效率,克服了相关技术中程序开发效率相对较低 的技术问题。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举 较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例 中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了 本发明的某些实施例,因此不应被看作是对范围的限定,对于本领 域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他相关的附图。

图1示出了本发明实施例中云程序开发运行系统的一种结构示 意图;

图2示出了本发明实施例中云程序开发运行系统的另一种结构 示意图;

图3示出了本发明实施例中云程序开发运行方法的流程图;

图4示出了本发明实施例中云服务器的一种结构示意图;

图5示出了本发明实施例中客户端的一种结构示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方 案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一 部分实施例,而不是全部的实施例。通常在此处附图中描述和示出 的本发明实施例的组件可以以各种不同的配置来布置和设计。因此, 以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要 求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于 本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下 所获得的所有其他实施例,都属于本发明保护的范围。

为了改善相关技术中应用程序开发效率相对比较低的问题,本 发明实施例中提供了一种应用程序开发系统,如图1所示,该系统 包括客户端及云服务器。

其中,客户端10,包含一个可视化的集成开发环境,此集成 开发环境与云服务器20提供的程序开发通道相连通,以与云服务器 20进行信息沟通。客户端10所包含的集成开发环境是多个云程序 代码生成的客户端10目标代码的集合。所述集成开发环境内提供多 个控件,通过集成开发环境内不同的控件类型的跟踪记录来识别是 客户端10逻辑代码还是服务器端逻辑代码,通过对不同类型控件的 属性定义客户端10与云服务器20的相关设置,通过控件事件定义 相关客户端10逻辑代码、服务器端逻辑代码。

集成开发环境内的客户端10类型控件及服务器端类型控件事 件编辑时,即客户端10逻辑代码、服务器端逻辑代码编辑时,通过 “.”关键字,触发对“.”之前描述类的构造访问。如果是客户端 10逻辑代码,则触发调用本地已缓存的对象资源,如果是服务器端 逻辑代码,则访问云服务器20内的对象订阅服务器,并将访问到得 对象构造,显示在“.”光标相近位置,以提示开发人员,此对象可 用的子包、类、方法、函数,或函数的构造或函数的形参。

客户端10开发完成云程序代码后,向云服务器20发送所述云 程序代码;所述云程序代码的发送请求,与客户端10请求其他云程 序代码没有区别,即:客户端10发送的云程序代码请求,云服务器 20接收后执行的也是一个特殊的云程序代码。云服务器20,负责接 收包括集成开发环境在内的客户端10发送的访问请求,每个请求有 唯一的云程序代码标识及对应的运行环境关联标识,云服务器20 在所述运行环境中找到对应的云程序代码,按照所述集成开发环境 内的控件节点顺序,云服务器20依次识别其是客户端10逻辑代码 还是服务器端逻辑代码,并执行服务器逻辑代码,并使用运行环境 信息替换客户端10逻辑代码,最终形成客户端10目标代码,云服 务器20将客户端10目标代码,返回至客户端10,最终客户端10 执行并展现目标代码。在本发明的实施例中,客户端10可以是pc 机,移动终端设备等;云服务器20,可以是一台或多台pc机,也 可以是一台或多台服务器等。

由于系统基于互联网模式进行运用开发,所以可能包含恶意的 代码访问,所以,本发明加入两个机制,即超时机制与安全机制, 其中安全机制由系统的后台功能控制,即不安全的类禁止普通用户 访问;超时机制上,本发明通过使用监控服务器来控制,在客户端 10发起云程序代码请求命令时,先通知监控服务器,然后开始执行 对应的云程序代码,监控服务器按定时设置轮询检查出超时的云程 序代码请求,并及时的给与处理,如java里面可以通过关闭线程等。

上述云程序开发运行系统,使用统一的开发语言如javaScript, 即云服务器20与客户端10之间的语言相通,从而可以降低开发人 员所需要掌握的开发语言种类要求。进一步地,本发明在云程序代 码内对云服务器20逻辑代码、客户端10逻辑代码以及相关设置进 行定义与区分,进而为云服务器20解析执行程序开发代码提供条 件。

本发明实施例中,云服务器20,还用于将所述云程序代码按照 运行环境的不同分别在不同的位置进行数据存储,且不同运行环境 下的数据完全隔离,所述的运行环境指云服务器为每个使用机构建 立的服务器端内存环境,所述使用机构指每个独立的企业或独立的 云程序使用对象。

为了实现对不同运行环境下的云程序代码的隔离,云服务器20 中可以采用mongoDB数据库存储数据,并对文档集按运行环境强 制转义。

如图2所示,本发明实施例的云程序开发运行系统中还包括: 中间对象订阅服务器30,用于接收客户端10发送的对象构造请求, 并从云服务器20中获取与所述对象构造请求相对应的客户端10目 标代码发送至所述客户端10,其中,所述对象构造请求包括对包、 类、方法及方法形参中的一种或多种的构造请求。该中间对象订阅 服务器可以看作为云服务器20和客户端10之间的桥梁,并且此种 以数据订阅请求的方式在客户端10与云服务器20之间交互用户操 作信息,具体的数据存储格式及位置由云端服务器进行管理,数据 订阅请求中可以只包含业务信息和用户信息,进而减少了数据传输 量,节省了网络带宽。

在本发明的一个实施例中,上述云程序开发运行系统中还包括: 运行监控服务器40,用于对所述客户端10目标代码的生成过程进 行监控;还用于对超过预设时间范围的请求执行停止或关闭操作,

在本发明的一个实施例中,所述系统还包括:定时任务服务器 50,用于定时执行所述云服务器20中的既定的云服务器20逻辑代 码,例如可以设置相应的云服务器20逻辑代码实现定时读取数据及 定时清理的功能。

在本发明的一个实施例中,云服务器20内的每个运行环境中, 不存在相同的代码标识的云程序代码,其中,所述代码标识,指每 个所述云程序代码的唯一标识;且不同的运行环境之间,相同所述 代码标识的云程序代码可以不同。

上述的云程序开发运行系统中还包括:云程序代码包共享服务 器60,用于将多个所述云程序代码打包形成云程序代码包,所述云 程序代码包内的每个云程序代码可分别在设置的多个运行环境内运 行,且每个运行环境的数据访问与存储完全隔离。

对应上述云程序开发运行系统,本发明实施例还提供了一种云 程序开发运行方法,该方法主要运行于云服务器端,如图3示出了 该方法的主要处理步骤,包括:

步骤S31:云服务器接收并保存客户端开发完成的云程序代码, 其中,所述云程序代码包括:云服务器逻辑代码、客户端逻辑代码 以及相关设置,所述相关设置包括云服务器逻辑代码设置及客户端 逻辑代码设置;

步骤S32:所述云服务器响应客户端发送的执行云程序代码请 求,并基于所述相关设置编译、缓存、执行所述云程序代码内的云 服务器逻辑代码,生成云程序代码的运行环境及数据信息,并结合 相应的客户端逻辑代码,生成客户端目标代码;

步骤S33:所述云服务器将生成的所述客户端目标代码发送给 发起所述请求的客户端,以使所述客户端执行所述客户端目标代码。

上述云程序开发运行方法中,使用统一的开发语言如 javaScript,即云服务器与客户端之间的语言相通,从而可以降低开 发人员所需要掌握的开发语言种类要求。进一步地,本发明在云程 序代码内对云服务器逻辑代码、客户端逻辑代码以及相关设置进行 定义与区分,进而为云服务器解析执行程序开发代码提供条件。

所述云服务器将所述云程序代码按照运行环境的不同分别在不 同的位置进行存储,且不同运行环境下的云程序代码的存储位置进 行完全隔离。

本发明上述的云程序开发运行方法中还包括:中间对象订阅服 务器接收客户端发送的对象构造请求,并从云服务器中获取与所述 对象构造请求相对应的客户端目标代码发送至所述客户端,其中, 所述对象构造请求包括对包、类、方法及方法形参中的一种或多种 的构造请求。

本方法中,运行监控服务器对所述客户端目标代码的生成过程 进行监控;并对超过预设时间范围的请求执行停止或关闭操作。

在本发明中,所述云程序开发运行方法还包括:为每个所述运 行环境的云程序代码,设置不相同的代码标识,其中,所述代码标 识,指每个所述云程序代码的唯一标识,允许所述运行环境之间, 相同代码标识的云程序代码可以不同。

本发明实施例还提供了一种云服务器,如图4所示,包括:

开发通道提供模块201,用于向客户端提供程序开发通道;

代码接收模块202,用于接收客户端发送的云程序代码,其中, 所述云程序代码包括:云服务器逻辑代码、客户端逻辑代码以及相 关设置,所述相关设置包括云服务器逻辑代码设置及客户端逻辑代 码设置;

请求接收响应模块203,用于响应客户端发送的执行云程序代 码请求生成以及向发送该请求的客户端发送客户端目标代码。

请求接收响应模块203响应执行云程序代码请求的方法包括根 据不同运行环境对所述云程序代码进行编译、解析、执行、输出以 获得请求对应的客户端目标代码,所述运行环境,包括一个或多个 所述客户端的终端组合在所述云服务器建立的执行环境。

云服务器中,所述云服务器逻辑代码在不同所述运行环境下执 行相同所述云程序代码,所操作的数据存储位置不同,不同所述运 行环境下的存储位置相互隔离。

本发明实施例还提供了一种客户端,如图5所示,包括:

程序开发模块101,用于通过云服务器提供的程序开发通道开 发云程序代码,其中,所开发的云程序代码可以包括:云服务器逻 辑代码、客户端逻辑代码以及相关设置,所述相关设置包括云服务 器逻辑代码设置及客户端逻辑代码设置;

代码发送模块102,用于向所述云服务器发送开发的所述云程 序代码;

代码请求及执行模块103,用于向所述云服务器发送执行云程 序代码请求,其中可以通过一个特殊字符的键盘输入来触发对象访 问请求,上述的云程序代码请求可以直接发送至云服务器也可以发 送至中间对象订阅服务器,同时一并发送对象请求路径,之后接收 请求得到的客户端目标代码并执行。

进一步在客户端中还可以包括展现模块,以展现客户端目标代 码的结果,由此以引导程序员进行程序开发或展现客户端界面。

本发明的云程序开发运行系统、方法及装置,是一种新的基于 互联网络运行的开发运行系统,该系统在云服务器与客户端之间采 用统一开发语言,并且支持客户端与服务器之间的交互,支持对应 用程序的二次开发,由此简化了对象交互模式、打通客户端代码编 写界面与云服务器的对象访问请求、打通客户端编程界面与客户端 环境的对象提示性交互,支持多企业、多用户、低运维成本、更加 高效、可分享的进行集群化程序开发。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、 装置和方法,可以通过其它的方式实现。以上所描述的装置实施例 仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划 分,实际实现时可以有另外的划分方式,又例如,多个单元或组件 可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不 执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信 连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接, 可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分 开的,作为单元显示的部件可以是或者也可以不是物理单元,即可 以位于一个地方,或者也可以分布到多个网络单元上。可以根据实 际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处 理单元中,也可以是各个单元单独物理存在,也可以两个或两个以 上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销 售或使用时,可以存储在一个计算机可读取存储介质中。基于这样 的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部 分或者该技术方案的部分可以以软件产品的形式体现出来,该计算 机软件产品存储在一个存储介质中,包括若干指令用以使得一台计 算机设备(可以是个人计算机,服务器,或者网络设备等)执行本 发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包 括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、 随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘 等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围 并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围 之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号