一种协作环境下的远程开发方法及其系统的制作方法

文档序号:6438159阅读:345来源:国知局
专利名称:一种协作环境下的远程开发方法及其系统的制作方法
技术领域
本发明涉及文档编辑终端和远程开发技术,尤其涉及一种在协作环境下的远程开发方法及其系统。
背景技术
目前,云计算正在被大力的提倡和发展。这种将运算资源和存储资源从传统的个人电脑终端转移到远程的云服务器,从而降低对个人计算机运算能力需求的同时提升服务器利用率的计算服务,既符合国家节能减排的发展战略,也满足人民低碳的生活需求,具有极大的发展前景。它的一个核心理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入输出设备,并能按需享受“云”的强大计算处理能力。
在大型应用软件项目、电子设计自动化(Electronic Design Automation)的开发过程中,编译或是综合通常需要较高的运算资源和运行时间。如果能把这种繁琐的耗时费力的任务交由云服务器运行,那么即便是使用手写智能手机、掌上电脑(PDA)这种便携设备也能进行开发,避免了随身携带电脑的麻烦,同时降低个人设备的配置需求,集中资源减少个体资源的浪费。
谷歌公司的谷歌文件(google docs)提供了一种多人在线协作文档编辑技术,使得开发团队的每个人能同时实时的对文档进行编辑和更新,免去了线下多人分别编辑后再反复整合的麻烦。然而,这种协作编辑格式单一,只限于一般文档、表格或幻灯片,无法编辑计算机语言的源文件,不具备语法高亮功能,因此不能在线进行软件工程开发或EDA综合等应用。
另外,目前还有一些开源在线开发项目正在开发或完善中,如jssc (JavMcript Syntax Color)和gmeditor ecoder等。然而它们支持的语言比较单一,如jssc只支持 JavaScript着色,gmeditor ecoder没明确说明但例程里仅含有网页语言,如php、HTML等; 并且它们在开启浏览器后需要缓存所有语法高亮脚本,不能动态增减,使得响应请求时带来较多传输冗余,反应较慢。
如上所述的现有技术,都只能支持文档或源代码的协作编辑,不支持远程开发。也就是说,代码的编译或综合还是需要在本地运行,因而对于项目应用开发而言无法减轻客户端的负担,不具备移植到智能手机、PDA等便携设备的能力,而且要想进行多人协作,必须另外单独配置版本控制软件。由服务器端统一管理,能减轻客户端的负担,使开发人员专注于代码的编写,而不用额外进行系统的搭建和配置。发明内容
鉴于已有技术的不足,本发明的目的是提供一种便于多用户之间协作的远程开发系统,代码远程编辑和协作开发方法。
根据本发明的一方面,本发明提供一种位于客户端的文档编辑终端,包括
一个用户接口,用于编辑和显示文档信息到客户端输出设备;
一个调度引擎,用于根据对象的定义识别文档信息中的对象及其属性,并将对象的信息提供给用户接口 ;以及
一个软硬件接口,用于根据用户至少一种请求与服务端相通信,以便与远端服务交互文档中对象的信息,并传递给所述调度引擎。
所述的文档编辑终端,其中,对象的定义包括对象的类型、语法高亮标签、显示属性、服务器反馈信息、在编辑终端中要显示的对象数据及内容指定中的一种或多种。
所述的文档编辑终端,其中,调度引擎还用于存储所述对象的信息,所述的软硬件接口根据远程服务的反馈信息更新所述对象的信息,并将客户端对象内容的改变传递给远程服务。
所述的文档编辑终端,其中,调度引擎还用于对存储对象的解析,给文档内容添加语法高亮标签和显示属性,由用户接口根据语法高亮标签和显示属性使用特殊效果显示对象、对象的内容中的一种或多种及其改变。
所述的文档编辑终端,其中,所述软硬件接口根据远程服务的反馈信息实时更新所述对象的信息,并将文档编辑终端对象内容的改变定时传递给远程服务器。
根据本发明的二方面,本发明提供一种远程开发系统,包括
远程开发(RDE,Remote Developing Environment)服务器,用于和客户端的文档编辑终端进行交互,接收客户端数据并发送反馈信息到客户端文档编辑终端;
客户端显示生成系统,用于根据客户端文档编辑终端关于显示改变和开发命令的请求发送特定的语法库文件、显示配置内容经由远程开发服务器传递给客户端或将开发命令(如编译等)交由编译器等单元进行处理并反馈处理结果到客户端文档编辑终端;以及
文件控制系统,用于将文件命令操作于正在编辑的文件副本,并对开发项目进行版本控制,便于多用户进行协作。
所述远程开发系统,其中,所述远程开发服务器根据客户端的文档编辑终端发送来的请求类型进行分别处理,然后转换成命令行操作,将其中的命令操作交由所述客户端显示生成系统处理,将其中的文件操作交由所述文件管理系统处理。
所述远程开发系统,其中,所述远程开发服务器根据客户端的文档编辑终端编辑文件类型的变化,将所述客户端显示生成系统的动态配置模块中传递来的显示配置信息和语法库文件传递到客户端的文档编辑终端。
所述远程开发系统,其中,所述远程开发服务器将编译、综合等开发命令传递给所述客户端显示生成系统中的文档编辑终端接口,并将处理后的信息反馈回客户端的文档编辑终端。所述远程开发系统,其中,所述客户端显示生成系统还用于存储全部的语法库文件和动态显示配置信息,根据客户端请求的不同,选取相应的语法库文件和显示配置信息发送到客户端的文档编辑终端的调度引擎进行缓存。
所述远程开发系统,其中,所述远程开发服务器将文件操作命令传递给所述文件控制系统中对文件副本进行操作,并将其连同整个开发项目并入进行版本控制。
根据本发明的第三方面,本发明提供一种编辑方法,包括
a)在远程服务器上新建文档或打开文档;
b)根据对象的定义识别文档中的对象及其属性;
c)根据文档类型和显示请求的不同与远端服务交互所述对象的信息;
d)将该对象的信息经过调度引擎解析后提供给用户接口显示。
所述编辑方法,其中,对象的定义包括对象的类型、语法高亮标签、显示属性、服务器反馈信息、在编辑终端中要显示的对象数据及内容指定中的一种或多种。
所述编辑方法,其中,新建文档通过传递命令到远程服务,由所述远程开发系统中的文件控制系统完成远程文档的生成,并且连接版本控制软件进行版本控制。打开文档则通过传递命令到远程服务器,由所述的远程开发系统将文件副本传递给客户端的文档编辑终端缓存,并交由用户接口显示。
所述编辑方法,其中,新建文档或打开文档时都会根据文档类型动态发送不同的语法库文件到客户端的文档编辑终端调度引擎进行存储。
所述的编辑方法,其中,由客户端软硬件接口和远程开发服务器进行交互,由调度引擎根据缓存解析文档内容并在用户接口中使用特殊效果显示对象、对象的内容中的一种或多种及其改变。
所述的编辑方法,其中,由客户端的文档编辑终端发送的文档内容是定时发送到服务器的,请求是实时响应的,而服务器端的反馈通知是实时更新的。
根据本发明的第四方面,本发明提供一种远程开发方法,包括
a)客户端的文档编辑终端传递开发命令到远程开发服务器;
b)远程开发服务器接收到命令并转换为命令行;
c)将命令行传递给对应编译器进行编译生成或调试;
d)将编译、调试信息传递给客户端的文档编辑终端由用户接口显示。
所述的开发方法,其中,开发命令是由用户在用户接口上操作,经由所述编辑终端中的软硬件接口发送,并所述的远程开发服务器接收。
所述的开发方法,其中,调用编译器运行获得的编译、调试结果,实时更新到客户端的文档编辑终端,由用户接口显示到输出设备。
本发明的有益效果如下由于本发明客户端控制显示的语法高亮脚本和显示配置都是服务器端动态配给的,因而在大量多语言支持时能够降低单次传递客户端运行脚本的大小,降低冗余程度;本发明的开发项目文件是保存在服务器上的,因此开发时可以在任意不同客户端上进行登录操作即可,降低了本地保存的风险;本发明使得项目开发所运用的开发环境(包含编译器等)、版本控制系统都是集成在服务器端,极大的降低了客户端对配置的需求并降低了客户端搭建工作平台的时间,使得使用智能手机、PDA等便携设备进行项目开发成为可能,同时高效率的利用高性能服务器的计算资源,避免了资源的浪费。从而大幅度提高了协作开发的效率和便捷性。


图1是能够被利用来实现本发明的系统和方法的示例环境结构图。
图2是客户端新建打开远程文档的操作流程图。
图3是远程开发系统针对客户端输入的处理流程图。
图4是远程开发服务器工作流程图。
图5是客户端显示生成系统中编译器接口的处理流程图。
具体实施方式
下面结合附图对本发明的实施例作详细说明本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和过程,但本发明的保护范围不限于下述的实施例。
本发明提供的远程代码编辑方法中,客户端在本地文档编辑终端选择新建,开发系统在服务器端生成新文件,根据客户端新建的文件类型,将相应编程语言的语法高亮库文件和显示配置发送给客户端,文档编辑终端通过对用户输入的内容进行解析,将其进行高亮处理显示在客户端,并将文件内容实时传递到服务器进行保存。打开文件时则根据文件名定位到相应的远程目录下,发送文件缓存到客户端进行编辑。文字内容直接传递,而如组合键操作、客户端文档编辑终端的菜单项选择则通过服务器端的命令转换后交由后端处理,完成对远程文件的操作,并将显示配置变化时将显示改变同步反馈到客户端。
本发明提供的远程项目协作开发系统和方法中,用户端调用编译、综合等开发命令时,由RDE将转化后的命令行传递给相应的编译器或EDA软件,并将这些软件的实时工作信息传递给客户端,便于客户端实时调试并查看实时开发信息。同时多人协作项目开发,都将获得服务器端的版本控制,使得各协作人员可以同时相对独立的完成开发,专注于代码的编写,而无需进行版本控制系统的客户端搭建。版本控制由服务器端托管,提供客户端对历史版本的查看,只能合并以及回滚功能。
如图1所示,是可用来实现本发明所描述的系统和方法的示例环境方框图。该环境对于服务接收端或称客户端可以包括通用客户端硬件设备100,其可以在诸如个人计算机的计算设备中实现,或者在诸如智能手机、个人数字助理(PDA)等其他电子设备中实现; 可以包括客户端应用层110,其一般以软件形式在如100所示的客户端硬件设备中实现。本发明的系统和方法有助于对客户端设备动态下载显示终端代码和/或一个或多个开发语言和语法高亮库模型。该语言和库模型例如可以被基于在客户端设备检测文件类型、上下文语境或者用户个人定义来选择。该环境对于服务处理端或称服务器端可以包括一个前端远程开发环境(Remote Developing Environment) 130,和后端处理模块,其可以包括后端处理模块140和版本控制系统150。客户端和服务器端通过网络120进行通信及数据传递。
通用客户端硬件设备100包括处理设备102、数据存储设备104、输出设备106、输入设备107以及网络接口 108。包括例如数据总线和主板的总线系统105可以被用来建立和控制组件102、104、106、107和108之间的数据通信,同时通过109的软硬件接口例如指令集结构ISA、操作系统OS来交由客户端应用层110进行数据处理。
处理设备102例如可以包括一个或多个微处理器。数据存储部分104例如可以包括动态随机存储器的随机存取存储器存储设备或其它类型的计算机可读介质存储器设备, 或是一个或多个硬盘驱动器、闪存、和/或只读存储器、或者其他类型的计算机可读介质存储器设备。示例的输出设备106可以包括显示设备和音频设备等,而示例的输入设备107 可以包括键盘、鼠标等。网络接口 108例如可以包括可操作用来向网络120接收数据的有线或无线网络设备。网络120可以包括一个或多个局域网(LAN)和/或广域网(WAN),诸如因特网。
客户端应用层110包括人机交互接口(Human Machine Interface)引擎112、语法库(Syntax LIB)缓存模块114、显示配置缓存模块117,例如可以储存在如104所述的数据存储介质之中,和LIB解析模块115、配置解析模块118,例如可以使用软件对提取自如114、 117所述的缓存模块中的数据交由HMI引擎处理,最后由输出设备106显示输出。
示例设备HMI引擎112是例如可以由运行于电脑、智能手机、PDA之上的软件载体, SLIB缓存模块114和显示配置117存放的是HMI引擎运行的配置内容,它们存储在数据存储104之中,由HMI引擎提取为运行库。LIB解析115、配置解析118,是示例设备HMI引擎主要处理功能。
在一些实施方式中,通用客户端硬件100可以从远程开发环境(RDE)服务器接收语法高亮库文件(SLIB)、显示配置(CONF)、编译信息反馈Syntax Check Information (SCI),并将库文件和显示配置存储到数据存储104之上,并通过HW/SW接口映射到客户端应用层110中的SLIB缓存和显示配置缓存中由HMI引擎112解析并使用。语法高亮库文件143a可以是文件也可以是代码,例如可以是XML格式的文件以方便客户端HMI 引擎112匹配高亮关键字或诸如JavMcript等脚本指令。显示配置信息14 和编译信息反馈103可以使用和语法高亮库文件类似的载体进行传输。这些控制或显示信息的接收也可以使用其他方式,例如独立(stand-alone)应用、小应用程序(applet)、Java网络加载协议(JNLP)和插入(plug-in)模块等。执行编译操作后的信息反馈SCI实例103,在HMI引擎配置后显示到文档编辑终端中,由显示器输出。
语法高亮库文件可被动态的更换为不同的开发语言,如C语言、Verilog硬件描述语言等。在一些实施方式中,客户端应用层110通过文档类型或上下文信息向服务器发送传输指定开发语言的请求。并将键盘输入的文档内容Text Content (TC) 101传输到服务器端进行处理,同时经由客户端应用层110中的HMI引擎进行语法解析,并将高亮后的文档内容显示到文档编辑终端和输出设备。文档内容既包含字符的输入也包含用户命令的传输, 如快捷组合键、文档编辑终端菜单命令等。
服务器处理端可以包括远程开发环境(RDE)服务器130、客户端显示生成系统 140、版本控制系统150、文本内容存储155四个部分。这些存储或功能模块可以集成在一个超级计算机中,也可以分布局域网络拓扑中,也可以分布在不同的城市甚至国家,只需保证联通即可。
远程开发环境(RDE)服务器130可以例如包括RDE交互引擎131、传输缓存132、 命令转换引擎134、菜单按键存储队列135、组合键存储队列136、字符内容存储队列137。 字符内容数据存储部分136包含客户端定时发送而来的纯文档信息。在一些实施方式中, RDE交互引擎通过分辨客户端传送过来的内容信息,将其分成按键、组合键、纯字符三类,再通过命令转换引擎134转换为后端系统/模块能够识别的命令行/或代码,例如可以是后端版本控制系统、客户端显示生成系统所存在的操作系统能识别的可执行命令行或脚本代码如 shell、Perl、Python 脚本等。
在一些实施方式中,后端模块处理后需要反馈到客户端的结果先存入传输缓存队列132,经由RDE交互引擎发送到客户端。传输缓存例如可以存储编译信息反馈(SCI)、客户端配置信息、语法高亮库文件以及文档内容信息同步。
客户端显示生成系统140包括多个配置文件存储142a、142b、142c等,多个语法高亮库文件存储143a、143b、143c等,多个编译器146a、146b、146c等和编译器/HMI配置接口。配置文件存储14 可以包括例如文字大小、字体、颜色、特殊格式、间距等信息。编译8器包括例如gcc等多种不同语言的编译器。高亮库文件包括例如C语言库、Java语言库等文件或代码,例如可以是XML格式的文件以方便客户端HMI引擎112匹配高亮关键字或诸如Javakript等脚本指令。
在一些实施方式中,HMI动态配置模块141接收命令转换引擎传递而来的客户端请求,并选择语法高亮库文件、显示配置文件发送到客户端。编译器接口 145接收客户端编译命令,交给编译器处理,返回调试信息到客户端。其中信息和配置都经由传输缓存队列 132、RDE服务器131交互引擎发送回客户端。
版本控制系统150包括版本控制接口 152和版本备份。在一些实施方式中,可以采用例如CVS或者subversion的版本控制软件来搭建版本控制系统,与存储介质相连接。
如图2所示,是客户端基本文件操作处理200的流程图。处理200可以例如在图 1的整个环境中实现。
客户端处理200的操作为新建文件(处理202)时,如图1中的HMI引擎112经由通用客户端硬件向远程开发服务器130发送新建文件请求,RDE服务器130中的RDE交互引擎131将请求分类成菜单按键,再由命令转换引擎转换为对应操作系统能运行的脚本或命令行,这可以使用例如对按键和命令进行一一对应存储于索引中以加快命令转换的速度。服务器对请求响应的第一步骤是服务器文件生成004)。步骤204生成的文件存储于文件存储155之中,文件新创建之后,文件存储系统将文本提交给版本控制系统150,由版本控制接口创建备份(步骤206),并检测155中文件内容的改变。同时客户端显示生成系统140中的HMI动态配置模块141监测到这个新建文件的类型,并选取相应开发语言的语法高亮库文件和初始显示配置文件发送回客户端(步骤208),并存储在客户端应用层中的缓存114和117之中。
操作为打开文件(处理212)时,同样由HMI引擎112发送请求,远程开发交互引擎131接收后,转换命令向版本控制系统申请该文件的最新版本,并搜索找到对应文件(步骤214),如处理202 —样,发送相应的语法高亮库文件和配置信息到客户端,同时还将文件的副本传递到客户端(步骤216)。最后由HMI引擎112中的解析模块解析库文件143a和配置文件142a,并显示到输出设备106之上。
如图3所示,是远程开发系统针对客户端输入的处理300的流程图。处理300可以在例如图1的环境中实现。
处理300在客户端输入设备上,由用户向文档编辑终端输入字符(步骤30 。例如可以使用电脑键盘、手写笔、手机键盘、触摸屏感应等方式输入到客户端硬件100之中, 通过HW/SW接口 109,由HMI引擎管理和调度。
处理300接收到的输入的字符,与库文件、配置文件一起由HMI引擎解析并显示到输出设备(步骤304)。例如HMI引擎可以提取显示配置117和库文件114,高亮显示文件内容到输出设备106。
处理300同时发送文件的改动请求到服务器的版本控制系统150,增量更新最新版本,备份历史版本,并都保存到服务器端的存储介质中(步骤306)。例如可以直接定时将文件全部内容发送到服务器端,或者将增量操作历史记录下来发送到服务器端,在版本控制系统恢复回滚的时候对历史记录进行可逆操作。
如图4所示,是远程开发服务器任务处理400的工作流程图。处理400可以在例如图1的环境中实现。
处理400运行于RDE (远程开发环境)服务器130上,接收客户端发送的信息(步骤40幻。例如,在客户端进行文件操作、字符输入等操作时,RDE服务器接收客户端文件操作内容101并作为消息源,在RDE交互引擎131中进行消息类型分解(步骤404)。例如,可以包含纯字符信息,特殊按键或组合键信息,菜单命令信息等。
处理400对于分解后的信息,将在命令转换引擎中将不同信息翻译成可供服务器后端(包括版本控制系统和客户端显示生成系统)运行的命令(步骤406)。例如,对于常用的菜单命令、组合键可使用数据库、标记语言文件记录匹配输出特定命令行代码(如可运行在操作系统上的代码、脚本等);对于纯字符信息,追加到正在修改的文件版本中,并由版本控制系统托管。
处理400对于转换后的代码,传递到客户端显示生成系统140和版本控制系统150 处理(步骤408)。例如,传递新配置文件(142b)、新语法高亮库文件(143b)和实时编译结果时,代码被传递到客户端显示生成系统;对于文件操作命令,命令行代码被传递到版本控制系统来实现文件操作和版本控制。
如图5所示,是客户端显示生成系统中编译器接口处理500的流程图。处理500 可以在例如图1的环境中实现。
处理500描述了编译器接口行为,它接收来源于客户端,经过命令转换后的编译调试命令(步骤50 。例如执行形式可以是命令行,也可以是脚本如shell、Python、Perl 等,也可以是高级语言程序。编译器接口 145根据文件的类型判断高级语言的种类,从而选择相应的编译器进行处理(步骤504)。例如可以是高级语言的编译命令gcc、javac, g++等,或高级语言的调试命令gdb、jdb等,也可以是EDA(电子设计自动化)软件的综合 synthesis、映射map、布局布线命令place & route等命令。
处理500转存所选编译器的编译结果到发送缓存队列132里(步骤506),最后通过RDE交互引擎131回馈到客户端(步骤508)。例如可以提取一次编译后的全部信息,以文本字符流通过网络传递,客户端应用层识别到编译信息后将其解析,并在客户端输出设备上的接口上分栏显示。接口可以是实现交互图形界面或者网页浏览器。
本说明书中所描述的主题和功能操作的实施例可以在包括本说明书中公开的结构及其结构等效的如数字集成电路、计算机软件、固件或硬件来实现,或者由它们中的一个或多个的组合来实现。可以将本说明书中描述的主题的实施例实现为一个或多个计算机软件程序产品或多个硬件模块,以供数据处理装置(包括HMI引擎、RDE引擎等,囊括用于处理数据的所有装置设备和机器)执行,或者用于控制数据处理装置的操作。有形程序载体可以是传播信号或者计算机可读介质。传播信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成以编码信息从而发送到适当的接收机装置,以供计算机执行。计算机可读介质可以是机器可读存储设备、机器可读存储基质、存储设备、影响机器可读传播信号的物质的合成、或者它们中的一个或多个的组合。
其中“数据处理装置”,包括可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,该装置还可以包括为讨论中的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合代码。
可以用任何形式的编程语言编写计算机程序(软件、脚本或代码),编程语言包括1编译或解释语言、陈述性语言或过程性语言,并且计算机程序可以任何形式部署,包括作为独立程序或作为独立模块、组件、例程、或者其他适合用于计算环境的单位。计算机程序并不必然对应于文件系统的文件。程序可以存储在保持其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在用于所讨论的程序的单个文件中,或者存储在多个协作文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。 计算机程序可以被部署为在一个计算机上或者位于一处或者分布在多处并且通过网络互联到多个计算机上执行。
本说明书中所描述的处理和逻辑流程可以由一个或多个可编程处理器执行,该可编程处理器执行一个或多个计算机程序,以通过对输入数据操作并且生成输出来执行功能。处理和逻辑流程也可以由下述设备来执行,并且装置也可以被实现为所述设备,所述设备为专用逻辑电路,如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用微处理器和专用微处理器,以及任何种类数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器、随机存取存储器或者它们两者接收指令和数据。计算机的核心元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的大容量存储设备,或者被可操作地耦合以从大容量存储设备接收数据或向大容量存储设备传送或收发数据,大容量存储设备例如为磁盘或者光盘。但是,计算机不一定具有这样的设备。此外,可以把计算机嵌入到另一设备中如移动电话、个人数字助理(PDA)、移动音频或视频播放器、 游戏机、全球定位系统(GPQ接收机。
适于存储计算机指令和数据的计算机可读介质包括所有形式的非易失性存储器、 介质和存储器设备,举例来说包括半导体存储器设备,例如,EPROM、EEPROM以及闪存设备; 包括磁盘,例如内部硬盘或可移动硬盘;以及包括⑶ROM和DVD ROM光盘。可以用专用逻辑电路补充处理器和存储器,或者可以将处理器和存储器并入专用逻辑电路中。
为了提供与用户的交互,本说明书中所描述的主题实施例可以在如下计算机上实现,该计算机具有用于向用户显示信息的显示设备例如CRT(阴极射线管)或LCD(液晶显示器)监视器,和通过其用户可以向计算机提供输入的键盘、点击设备例如鼠标、手写笔。 也可以使用其他类型的设备来提供与用户的交互;例如提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈或听觉反馈;来自用户的输入包括键盘按键、手写输入、鼠标点击等形式接收。
本说明书中所描述的主题的实施例可以在如下计算机系统中实现,该计算机系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有通过其用户可以与本说明书所描述的主题的实现交互图形界面或者网页浏览器的客户端计算机,或者这些前端、中间件或后端组件的一个或多个的任何组合。可以通过任何形式或数字数据通信介质例如通信网络将系统的组件相互连接。通信网络的示例包括局域网(LAN)和广域网(WAN)例如因特网。
计算机系统可以包括客户机和服务器。客户机和服务器通常彼此远离,并且典型地通过通信网络交互。客户机和服务器的关系借助运行在各自计算机上的彼此具有客户机-服务器关系的计算机程序而发生。
本说明书中所提及的编译,不仅仅指的是狭义的把高级语言翻译成二进制代码的11过程,而是包括例如软件的编译、生成为可运行并能看到运行结果的全过程,同时不局限于高级程序语言,也包含硬件描述语言的综合,以及对特定器件的映射、布局布线的结果。本说明书所提及的编译器,是对一系列耗费计算资源的不同语言的开发环境工具链的集合和统称。
虽然本说明书包含许多特定实现细节,但是这些不应被视为对任何发明或所要求保护的范围的限制,相反是作为可能专属于具体发明的具体实施例的特征描述。在单独实施例的情形下本说明书中所描述的某些特征可以在单个实施例中以组合实现。相反,在单个实施例的情境下描述的各种特征也可以分开地在多个实例中或者任何适当的次组合中实现。此外,尽管,上面可能将特征描述为以某种组合作用,甚至最初是如此声明的,但是来自所声明的组合的一个或多个特征在某些情况下可以从该组合切除,所声明的组合可以针对组合或次组合的变化。
类似的,虽然在附图中以特定次序描述了多项操作,但是这不应该被理解为为了希望的结果要求这样的操作以所示的特定次序或者以顺序的次序执行,或者要求执行所有图示的操作。在某些情形下,多任务和并行处理可能是有利的。此外,上述实施例中各种系统组件的分割不应被理解为所有实施例中要求这样的分割,并且应该理解,一般可以把所述系统组件和系统集成在单个软件产品或打包到多个软件产品中。
已经描述了本说明书中描述的主题的特定实施例。其他实施例落入所附权利要求的范围。例如,可以以不同的次序执行权利要求中陈述的动作,而仍然得到希望的结果。作为一个示例,为了获得希望的结果,附图中所描绘的处理并不必然要求所示的特定次序或者顺序的次序。在某些实施例中,多任务和并行处理可能是有利的。
权利要求
1.一种文档编辑终端,其特征在于包括一个用户接口,用于编辑和显示文档信息到客户端输出设备;一个调度引擎,用于根据对象的定义识别文档信息中的对象及其属性,并将对象的信息提供给用户接口 ;以及一个软硬件接口,用于根据用户至少一种请求与服务端相通信,以便与远端服务交互文档中对象的信息,并传递给所述调度弓I擎。
2.根据权利要求1所述的文档编辑终端,其特征在于其中,对象的定义包括对象的类型、语法高亮标签、显示属性、服务器反馈信息、在文档编辑终端中要显示的对象数据及内容指定中的一种或多种。
3.根据权利要求1所述的文档编辑终端,其特征在于其中,调度引擎还用于存储所述对象的信息,所述的软硬件接口根据远程服务的反馈信息更新所述对象的信息,并将客户端对象内容的改变传递给远程服务。
4.根据权利要求1所述的文档编辑终端,其特征在于其中,调度引擎还用于对存储对象的解析,给文档内容添加语法高亮标签和显示属性,由用户接口根据语法高亮标签和显示属性使用特殊效果显示对象、对象的内容中的一种或多种及其改变。
5.根据权利要求1所述的文档编辑终端,其特征在于其中,所述软硬件接口根据远程服务的反馈信息实时更新所述对象的信息,并将文档编辑终端对象内容的改变定时传递给远程服务器。
6.一种远程开发系统,其特征在于包括a)一个远程开发服务器,用于和客户端文档编辑终端进行交互,接收文档编辑终端数据并发送反馈信息到文档编辑终端;b)一个客户端显示生成系统,用于根据文档编辑终端关于显示改变和开发命令的请求发送特定的语法库文件、显示配置内容经由远程开发服务器传递给客户端或将开发命令交由编译器单元进行处理并反馈处理结果到文档编辑终端;以及c)一个文件控制系统,用于将文件命令操作于正在编辑的文件副本,并对开发项目进行版本控制,便于多用户进行协作。
7.根据权利要求6所述的远程开发系统,其特征在于其中,所述a)中的远程开发服务器根据文档编辑终端发送来的请求类型进行分别处理,然后转换成命令行操作,将其中的命令操作交由b)所述客户端显示生成系统处理,将其中的文件操作交由c)所述的文件管理系统处理。
8.根据权利要求6所述的远程开发系统,其特征在于其中,a)所述远程开发服务器根据文档编辑终端编辑文件类型的变化,将b)所述客户端显示生成系统的动态配置模块中传递来的显示配置信息和语法库文件传递到文档编辑终端。
9.根据权利要求6所述的远程开发系统,其特征在于其中,a)所述远程开发服务器将开发命令传递给b)所述客户端显示生成系统中的编译器接口,并将处理后的信息反馈回文档编辑终端。
10.根据权利要求6所述的远程开发系统,其特征在于其中,b)所述客户端显示生成系统还用于存储全部的语法库文件和动态显示配置信息,根据文档编辑终端请求的不同, 选取相应的语法库文件和显示配置信息发送到文档编辑终端调度引擎进行缓存。
11.根据权利要求6所述的远程开发系统,其特征在于其中,a)所述远程开发服务器将文件操作命令传递给c)所述文件控制系统中对文件副本进行操作,并将其连同整个开发项目并入进行版本控制。
12.—种编辑方法,其特征在于包括a)在远程服务器上新建或打开文档;b)根据对象的定义识别文档中的对象及其属性;c)根据文档类型和显示请求的不同与远端服务交互所述对象的信息;d)将该对象的信息经过调度引擎解析后提供给用户接口显示。
13.根据权利要求12所述的编辑方法,其特征在于其中,对象的定义包括对象的类型、语法高亮标签、显示属性、服务器反馈信息、在文档编辑终端中要显示的对象数据及内容指定中的一种或多种。
14.根据权利要求12所述的编辑方法,其特征在于其中,新建文档通过传递命令到远程服务,由权利要求6所述远程开发系统中的文件控制系统完成远程文档的生成,并且连接版本控制软件进行版本控制;打开文档则通过传递命令到远程服务器,由权利要求6所述的远程开发系统将文件副本传递给文档编辑终端缓存,并交由用户接口显示。
15.根据权利要求14所述的编辑方法,其特征在于其中,新建文档或打开文档时都会根据文档类型动态发送不同的语法库文件到文档编辑终端调度引擎进行存储。
16.根据权利要求12所述的编辑方法,其特征在于其中,由文档编辑终端软硬件接口和远程开发服务器进行交互,由调度引擎根据缓存解析文档内容并在用户接口中使用特殊效果显示对象、对象的内容中的一种或多种及其改变。
17.根据权利要求16所述的编辑方法,其特征在于其中,由文档编辑终端发送的文档内容是定时发送到服务器的,请求是实时响应的,而服务器端的反馈通知是实时更新的。
18.—种远程开发方法,其特征在于包括a)文档编辑终端传递开发命令到远程开发服务器;b)远程开发服务器接收到命令并转换为命令行;c)将命令行传递给对应编译器进行编译生成或调试;d)将编译、调试信息传递给文档编辑终端由用户接口显示。
19.根据权利要求18所述的远程开发方法,其特征在于其中,开发命令是由用户在用户接口上操作,经由权利要求1所述文档编辑终端中的软硬件接口发送,并由权利要求6所述的远程开发服务器接收。
20.根据权利要求18所述的远程开发方法,其特征在于其中,调用编译器运行获得的编译、调试结果,实时更新到文档编辑终端,由用户接口显示到输出设备。
全文摘要
本发明公开一种协作环境下的远程开发方法及其系统,系统包括远程开发服务器,用于和客户端文档编辑终端进行交互,接收文档编辑终端数据并发送反馈信息到文档编辑终端;客户端显示生成系统,用于根据文档编辑终端关于显示改变和开发命令的请求发送特定的语法库文件、显示配置内容经由远程开发服务器传递给客户端或将开发命令交由编译器单元进行处理并反馈处理结果到文档编辑终端;文件控制系统,用于将文件命令操作于正在编辑的文件副本,并对开发项目进行版本控制,便于多用户进行协作。本发明极大的降低了客户端对配置的需求并降低了客户端搭建工作平台的时间,避免了资源的浪费,从而大幅度提高了协作开发的效率和便捷性。
文档编号G06F9/44GK102520922SQ20111035881
公开日2012年6月27日 申请日期2011年11月14日 优先权日2011年11月14日
发明者朱燕民, 王冬阳, 祝永新, 舒适, 阙志强 申请人:上海交通大学, 上海红神信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1