一种WebService前端部署方法、存储介质、电子设备及系统与流程

文档序号:17474328发布日期:2019-04-20 06:01阅读:197来源:国知局
本发明涉及web应用开发
技术领域
:,具体涉及一种webservice前端部署方法、存储介质、电子设备及系统。
背景技术
::在当前web开发领域,主流的网络技术架构为了保证前端的交互系统使用的流畅性,通常采用前后端分离的方式进行开发维护,其前后端各需要开发、部署、维护一份相互协调的代码,前后端之间通过json进行客户端-服务端交互。在这种应用模式下,前后端代码需要单独部署,但是前后端代码总共包含多个文件,在应用维护以及跨平台迁移的工作中比较繁琐,同时,过多的文档在迁移时较容易出现错误。如图1所示,具体来说,首先通过node.js的静态模块打包器及其插件,将前端源代码(react、vue、angular)以及其他静态文档进行编译、优化、打包,最终输出包含处理之后的html、javascript、css文件,然后再将这些文件通过webservice(express、nginx等)进行监听,提供给外部访问。在这种方式中,代码文件(前端静态文档、服务端脚本文件)较多,服务端代码程序依赖语言环境(例如node.js程序依赖node.js环境),因此这种模式下的web应用部署,需要部署多个前端静态文档与多个服务端脚本文件,且另外需要安装服务端程序依赖环境,十分不便。技术实现要素:针对现有技术中存在的缺陷,本发明的目的在于提供一种webservice前端部署方法、存储介质、电子设备及系统,能够将为前端提供webservice的多个依赖语言环境的代码文件集成为一个网络平台可以直接使用过的可执行文件,简化了网络平台的配置、部署,降低了环境依赖和资源消耗。为达到以上目的,第一方面,本发明实施例提供一种webservice前端部署方法,其包括:获取静态文档,并将所述静态文档编译为预设的编程语言的二进制代码,所述预设的编程语言用于将自身的源码转化为网络平台的可执行文件;以所述预设的编程语言,编写配合所述二进制代码提供webservice的代码文档;将所述代码文档以及二进制代码,通过预设的编程语言,编译为与网络平台系统中对应的一个可执行文件,并将该可执行文件部署至所述网络平台。作为一个优选的实施方案,所述预设的编程语言为go语言,所述代码文档为goweb文档。作为一个优选的实施方案,所述配合所述二进制代码提供webservice具体为:对应所述静态文档的访问接口,查找所述二进制代码的访问接口;对所述二进制代码的访问接口的数据流进行监听与回应。作为一个优选的实施方案,所述网络平台包括linux、unix与windows。作为一个优选的实施方案,所述静态文档包括:react、vue和/或angular。作为一个优选的实施方案,所述静态文档通过webpack打包器生成。作为一个优选的实施方案,获取所有的静态文档,并将所有的所述静态文档编译为预设的编程语言的二进制代码。第二方面,本发明实施例提供一种webservice前端部署系统,其包括:编译模块,用于获取所有静态文档,并将所有所述静态文档编译为预设的编程语言的二进制代码;编写模块,用于以所述预设的编程语言,编写为所述二进制代码提供webservice的代码文档;合成模块,用于将所述代码文档以及二进制代码,通过预设的编程语言,编译为与网络平台系统中对应的一个可执行文件,并将该可执行文件部署至所述网络平台。第三方面,本发明实施例还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面实施例中的方法。第四方面,本发明实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面实施例中的方法。与现有技术相比,本发明的优点在于:本发明一种webservice前端部署方法、存储介质、电子设备及系统首先对静态文档进行处理,将其编译为二进制的代码,二进制代码是机器能够直接执行的语言,更加贴合机器的使用,同时在编译时候,即转化为机器语言时候,能够更加方便的进行编译。webservice前端除了内容固定的静态文档,还需要配合静态文档进行动态配置、调整的后端web文件一起才能完整的向用户提供webservice,而为了将能够打包成一个可执行的文件,在编译静态文档的编程语言环境下,编写代码文档。最终将该代码文档与二进制代码一起编译为可执行文件,能够直接在对应的网路平台上直接运行,不再需要进一步的为该可执行文件配置语言环境,同时在跨平台迁移时,更加方便。附图说明为了更清楚地说明本发明实施例中的技术方案,下面对实施例对应的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一种webservice前端部署方法的步骤流程图;图2为本发明一种webservice前端部署系统的结构示意图。图中:1-编译模块,2-编写模块,3-合成模块。具体实施方式以下结合附图对本发明的实施例作进一步详细说明。参见图1所示,本发明实施例提供一种webservice前端部署方法、存储介质、电子设备及系统,其通过将静态文档和配合静态文档的提供webservice的代码,通过预设的编程语言整合编译为一个可执行过文件,能够降低了前端交互对环境依赖和资源消耗,简化了网络平台的配置、部署,并提高了运行效率。为达到上述技术效果,本申请的总体思路如下:获取静态文档,并将所述静态文档编译为预设的编程语言的二进制代码,所述预设的编程语言用于将自身的源码转化为网络平台的可执行文件;以所述预设的编程语言,编写配合所述二进制代码提供webservice的代码文档;将所述代码文档以及二进制代码,通过预设的编程语言,编译为与网络平台系统中对应的一个可执行文件,并将该可执行文件部署至所述网络平台。综上所述,传统前端交互中生成的静态文档,过于依赖网络平台上配置的语言环境,同时静态文档十分繁复不利于逐个处理,在进行跨平台迁移时,十分繁琐、易于出错。而本发明将静态文档和与静态文档交互以提供webservice的代码文件一起编译为一个完整的可执行文件,该可执行文件是对应网络平台的,不再需要额外安装语言环境,即网络平台能够通过直接运行该可执行文件提供webservice。为了更好的理解上述技术方案,下面结合具体实施方式进行详细的说明。实施例一本发明实施例提供一种webservice前端部署方法,其包括:s1:获取静态文档,并将所述静态文档编译为预设的编程语言的二进制代码,所述预设的编程语言用于将自身的源码转化为网络平台的可执行文件。静态文档是指内容固定的文档,它是由万维网服务器创建,并存放在其中。当客户利用浏览器访问万维网服务器里的该文档时,这个文档的副本被传送到客户,客户就可使用浏览程序显示这个文档。当然,服务器中的文档内容是可以修改的,但客户却不能修改它。现有技术中,常常通过基于node.js的静态模块打包器即其插件,将前端源代码(react、vue及angular等等)静态文档进行编译、游湖、打包最终输出html、javascript、css文件供用户浏览网页。但是这些静态文档需求特定的语言环境才能够正常的运行,因此,使用上述方式提供网页文件的网络平台,需要对应静态文档配置语言环境。作为一个优选的实施方案,静态文档通过webpack打包器生成。webpack是一个前端自动打包工具,其使用过模块化思想,能够兼容多种文件,并转化为模块,不管是js,css,还是scss,less,还是jsx,webpack统统都能进行打包。本发明则直接将静态文档进行了编译,编译以预设的编程语言下的二进制代码,二进制代码作为通用的机器语言的代码,能够直接被机器或者对应的编程语言所识别,即,通过将静态文档编译为编程语言下的二进制代码,去除了使用静态文档所需要的语言环境限制。作为一个优选的实施方案,本文中的预设的编程语言为go语言,go语言是谷歌2009发布的第二款开源编程语言。其专门针对多处理器系统应用程序的编程进行了优化,使用go编译的程序可以媲美c或c++代码的速度,而且更加安全、支持并行进程。其作为编译、以及转化作用的编程语言,能够良好保证代码的兼容性,以及转化效率。进一步的,代码文档为goweb文档。基于go语言的goweb文档能够更好的构建构建web应用或提供更好的web服务,进而在编译为一个可执行文件后,运行效率更高。需要说明的是,除了go语言,还可以使用其他编程语言进行编译和转化,只要能够将将所述静态文档编译为预设的编程语言的二进制代码,并对应网络平台将自身的源码转化可执行文件即可。s2:以所述预设的编程语言,编写配合所述二进制代码提供webservice的代码文档。在提供webservice前端服务时候,除了静态文档,还需要能够进行前端交互的代码,这些代码分别对应不同的静态文档,也需要在不同的语言环境中使用。本发明则重新对这些代码进行编写,取出其对多种语言环境的依赖,转为单一的编程语言。同时在步骤s1中,已经对静态文档进行了转化,无法兼容原有的代码文档。具体来说,webservice的前端交互即为对静态文档中的数据接口进行数据的处理。用户通过静态文档中的数据接口获取webservice,因此,在本发明中,只需要对应所述静态文档的访问接口,查找所述二进制代码的访问接口,对所述二进制代码的访问接口的数据流进行监听与回应。即可达成目的。s3:将所述代码文档以及二进制代码,通过预设的编程语言,编译为与网络平台系统中对应的一个可执行文件,并将该可执行文件部署至所述网络平台。进一步的,为了减少webservice前端服务中,大量文档堆积、难以处理,本发明在使用同一种预设的编程语言对静态文档编译为二进制文档,编写配合所述二进制代码提供webservice的代码文档后,将二进制文档以及代码文档一起编译为一个对应网络平台的可执行过文件。可执行文件(executablefile)指的是可以由操作系统进行加载执行的文件。例如在windows操作系统下,可执行程序可以是.exe文件.sys文件.com等类型文件。它不需要额外的语言环境,来对其进行“翻译”,能够直接运行,降低了该网络平台的资源损耗、语言环境依赖,并简化了部署方案、减轻了迁移的工作量。需要说明的是,网络平台可以是linux、unix与windows。只要前端部署需要运行的网络平台,均可。作为一个优选的实施方案,在进行webservice前端部署时,是获取所有的静态文档,并将所有的所述静态文档编译为预设的编程语言的二进制代码。即网络平台在进行前端交互时,完全不需要安装对应静态文档的语言环境。而不是部分静态文档使用本方法,部分静态文档仍然按照现有技术进行部署。基于同一发明构思,本申请提供实施例二,其具体实施方式如下。实施例二如图2所示,本发明提供一种webservice前端部署系统,其特征在于,其包括:编译模块1,用于获取所有静态文档,并将所有所述静态文档编译为预设的编程语言的二进制代码;编写模块2,用于以所述预设的编程语言,编写为所述二进制代码提供webservice的代码文档;合成模块3,用于将所述代码文档以及二进制代码,通过预设的编程语言,编译为与网络平台系统中对应的一个可执行文件,并将该可执行文件部署至所述网络平台。前述方法实施例中的各种变化方式和具体实例同样适用于本实施例的系统,通过前述方法的详细描述,本领域技术人员可以清楚的知道本实施例中系统的实施方法,所以为了说明书的简洁,在此不再详述。基于同一发明构思,本申请提供实施例三。实施例三本发明第三实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的一种webservice前端部署方法,该方法包括:获取静态文档,并将所述静态文档编译为预设的编程语言的二进制代码,所述预设的编程语言用于将自身的源码转化为网络平台的可执行文件;以所述预设的编程语言,编写配合所述二进制代码提供webservice的代码文档;将所述代码文档以及二进制代码,通过预设的编程语言,编译为与网络平台系统中对应的一个可执行文件,并将该可执行文件部署至所述网络平台。本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。基于同一发明构思,本申请提供实施例四。实施例四本发明第四实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。总体来说,本发明实施例提供的一种webservice前端部署方法、存储介质、电子设备及系统,能够将为前端提供webservice的多个依赖语言环境的代码文件集成为一个网络平台可以直接使用过的可执行文件,简化了网络平台的配置、部署,降低了环境依赖和资源消耗。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1