一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用程序构建方法、装置、服务器以及存储介质与流程

2023-04-26 12:13:28 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种应用程序构建方法、装置、服务器以及存储介质。


背景技术:

2.相关技术中,电子计算机在现代生活越趋重要,而应用程序是使用计算机的基础。在开应用程序的过程中,由于各种系统互不兼容,如果要在windows、linux、mac os x等平台多端运行则要开发多套应用程序,开发速度和难度都会加大。目前,可以通过electron等跨平台桌面应用开发工具解决操作系统不兼容的问题。
3.但是,跨平台桌面应用开发工具的应用程序内存占用很大。
4.申请内容
5.本技术的主要目的在于提供一种应用程序构建方法、装置、服务器以及存储介质,旨在解决跨平台桌面应用开发工具的应用程序内存占用很大的技术问题。
6.第一方面,为实现上述目的,本技术提供一种应用程序构建方法,用于服务器,所述方法包括:
7.获取用户终端的操作系统信息、以及待下载应用程序的公共组件模块和定制组件模块;
8.从所述定制组件模块中筛选出与所述操作系统信息对应的目标定制组件模块;
9.根据所述公共组件模块和所述对应的目标定制组件模块,生成所述待下载应用程序的目标客户端应用;
10.发送所述目标客户端应用至所述用户终端。
11.可选的,所述获取用户终端的操作系统信息、以及待下载应用程序的公共组件模块和定制组件模块之前,所述方法还包括:
12.对预设功能模块和至少一个操作系统的网页浏览器库进行组件化架构处理,得到至少一个模块组件;
13.对至少一个所述模块组件进行分发处理,得到所述公共组件模块和所述定制组件模块。
14.可选的,所述公共组件模块包括进程子模块、储存子模块、日志子模块、配置子模块、服务子模块或者路由子模块中的至少一种。
15.可选的,所述定制组件模块包括和操作系统相匹配的兼容内核组件和定制功能组件。
16.可选的,所述获取用户终端的操作系统信息,包括:
17.获取由用户通过浏览器输入的下载请求;
18.根据所述下载请求,获取所述用户终端的操作系统信息。
19.可选的,所述获取由用户通过浏览器输入的下载请求之后,所述方法还包括:
20.利用所述浏览器判断所述用户终端的操作系统类型,得到操作系统类型;
21.根据所述操作系统类型,确定所述用户终端的操作系统信息。
22.可选的,所述根据所述公共组件模块和所述对应的目标定制组件模块,生成所述待下载应用程序的目标客户端应用,包括:
23.提取所述操作系统信息的内核版本信息;
24.根据所述内核版本信息、所述公共组件模块和所述对应的目标定制组件模块,生成所述目标客户端应用。
25.第二方面,本技术还提供了一种应用程序构建装置,所述装置包括:
26.获取模块,用于获取用户终端的操作系统信息、以及待下载应用程序的公共组件模块和定制组件模块;
27.筛选模块,用于从所述定制组件模块中筛选出与所述操作系统信息对应的目标定制组件模块;
28.生成模块,用于根据所述公共组件模块和所述对应的目标定制组件模块,生成所述待下载应用程序的目标客户端应用;
29.发送模块,用于发送所述目标客户端应用至所述用户终端。
30.第三方面,本技术还提供了一种服务器,包括:处理器,存储器以及存储在所述存储器中的应用程序构建程序,所述应用程序构建程序被所述处理器运行时实现如第一方面所述应用程序构建方法的步骤。
31.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有应用程序构建程序,所述应用程序构建程序被处理器执行时实现如第一方面所述的应用程序构建方法。
32.本技术实施例提出的一种应用程序构建方法,获取用户终端的操作系统信息、以及待下载应用程序的公共组件模块和定制组件模块;从所述定制组件模块中筛选出与所述操作系统信息对应的目标定制组件模块;根据所述公共组件模块和所述对应的目标定制组件模块,生成所述待下载应用程序的目标客户端应用;发送所述目标客户端应用至所述用户终端。
33.由此,本技术通过服务器根据用户终端的操作系统信息后,根据该操作系统信息从多个定制组件模块中确定出与该操作系统信息对应的目标定制组件,并将公共组件模块与目标定制组件模块打包成目标客户端应用,即删除了与用户终端的操作系统无关的其他操作系统的定制组件模块,服务器根据不同操作系统专门构建客户端应用,用户下载生成的客户端应用时,减少了不需要功能,进而生成的客户端应用的体积也随之减小,进一步将客户端应用的下载效率提高、运行效率提升、内存开销减少,能实现客户端的极速响应,并且实现客户端应用的升级更新迭代更方便,减少升级时下行带宽不稳定或文件损坏带来的风险。
附图说明
34.图1为本技术应用程序的构建方法的硬件运行环境的服务器的结构示意图;
35.图2为本技术应用程序的构建设备的硬件运行环境的结构示意图;
36.图3为本技术应用程序的构建方法第一实施例的流程示意图;
37.图4为本技术应用程序的构建方法第二实施例的流程示意图;
38.图5为本技术应用程序的构建方法第三实施例的流程示意图;
39.图6为本技术应用程序的构建方法第四实施例的流程示意图;
40.图7为本技术应用程序的构建方法装置的模块示意图。
41.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
42.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
43.由于相关技术中,电子计算机在现代生活越趋重要,而应用程序是使用计算机的基础。在开应用程序的过程中,由于各种系统互不兼容,如果要在windows、linux、mac os x等平台多端运行则要开发多套应用程序,开发速度和难度都会加大。目前,可以通过electron等跨平台桌面应用开发工具解决操作系统不兼容的问题。
44.但是,跨平台桌面应用开发工具的应用程序内存占用很大。
45.本技术提供一种解决方案,服务器根据用户终端的操作系统信息后,根据该操作系统信息从多个定制组件模块中确定出与该操作系统信息对应的目标定制组件,并将公共组件模块与目标定制组件模块打包成目标客户端应用,即删除了与用户终端的操作系统无关的其他操作系统的定制组件模块,服务器根据不同操作系统专门构建客户端应用,用户下载生成的客户端应用时,减少了不需要功能,进而生成的客户端应用的体积也随之减小,进一步将客户端应用的下载效率提高、运行效率提升、内存开销减少,能实现客户端的极速响应,并且实现客户端应用的升级更新迭代更方便,减少升级时下行带宽不稳定或文件损坏带来的风险。
46.本技术实施例以下,将对本技术技术实现中应用到的应用程序构建系统进行说明:
47.参照图1,图1是一示例性实施例提供的一种应用程序构建系统的架构示意图。如图1所示,该应用程序构建系统可以包括服务器11、网络12和用户终端13。
48.服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器。在运行过程中,服务器11可以运行某一应用的服务器侧的程序,以实现该应用的相关业务功能,比如当用户终端13的用户通过浏览器输入的下载请求时,该服务器11可作为该用户通过浏览器输入的下载请求应用的服务器,以支持用户终端13完成用户通过浏览器输入的下载请求的工作。
49.网络12可以包括多种类型的有线或无线网络。在一实施例中,该网络12可以包括公共交换电话网络(public switched telephone network,pstn)和因特网用户终端13可以通过网络12与服务器11实现交互。
50.用户终端13可以包括诸如下述类型的电子设备:用户工作站、智能手机、平板设备、笔记本电脑、掌上电脑(pdas,personal digital assistants)等,本说明书一个或多个实施例并不对此进行限制。
51.参照图2,图2为本技术实施例方案涉及的硬件运行环境的服务器的结构示意图。
52.如图2所示,该服务器可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏
(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
53.本领域技术人员可以理解,图2中示出的结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
54.如图2所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及应用程序构建方法程序。
55.在图2所示的服务器中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本技术服务器中的处理器1001、存储器1005可以设置在服务器中,服务器通过处理器1001调用存储器1005中存储的应用程序构建方法程序,并执行本技术实施例提供的应用程序构建方法方法。
56.基于上述服务器的硬件结构但不限于上述硬件结构,本技术提供一种应用程序构建方法的第一实施例。参照图3,图3示出了本技术应用程序构建方法的第一实施例的流程示意图。
57.需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
58.本实施例中,所述方法包括:
59.s10、获取用户终端的操作系统信息、以及待下载应用程序的公共组件模块和定制组件模块;
60.需要理解的是,本实施例的执行主体是服务器。服务器可通过网络与用户终端进行交互。用户终端包括手机、平板设备、笔记本电脑、掌上电脑(pdas,personal digital assistants)等,本说明书一个或多个实施例并不对此进行限制。操作系统信息具体为用户正在使用的用户终端的一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。
61.可以理解的,根据运行的环境,操作系统包括dos系统、windows系统、linux系统、mac osx系统以及chrome os系统。
62.其中,待下载应用程序为服务器将前端开发框架打包形成的可执行程序,其中,前端开发框架为了兼容多个操作系统,整合例如chromeium的渲染引擎。前端开发框架是一个由html、css和javascript来构建跨平台桌面应用程序的开源工具库。
63.公共组件模块具体为运行待下载应用程序必须具备的模块,若缺少公共组件模块,应用程序则不能运行。进一步的,在一实施例中,所述公共组件模块包括进程子模块、储存子模块、日志子模块、配置子模块、服务子模块或者路由子模块中的至少一种。即该公共组件模块包括但不限于进程子模块、储存子模块、日志子模块、配置子模块、服务子模块以及路由子模块等。
64.定制组件模块具体为应用官网提供的多个功能模块,进一步的,在一实施例中,所述定制组件模块包括和操作系统相匹配的兼容内核组件和定制功能组件。即该定制组件模块包括和操作系统相匹配的兼容内核组件和定制功能组件。
65.s20、从所述定制组件模块中筛选出与所述操作系统信息对应的目标定制组件模块;
66.需要理解的是,以待下载应用程序为web技术开发桌面应用为例而言,待下载应用程序为服务器将前端开发框架打包形成的可执行程序,其中,前端开发框架为了兼容多个操作系统,整合例如chromeium的渲染引擎。前端开发框架是一个由html、css和javascript来构建跨平台桌面应用程序的开源工具库,其原理是通过node.js语言和chromium引擎合并到同一个运行环境,并且打包相应的应用程序。
67.但是,为了匹配不同的操作系统,待下载应用程序的官网上,即服务器中包括不同操作系统的定制组件模块。用户在下载该应用程序时若下载了不同操作系统的定制组件模块,会造成应用程序的体积特别大。
68.因此,在本实施例中,用户在下载应用程序之前,服务器先根据用户正在使用的用户终端的操作系统信息,从多个定制组件模块中确定出与操作系统信息对应的目标定制组件模块,进而实现服务器在打包相应的应用程序的过程中,只打包与操作系统信息对应的目标定制组件模块,并不打包其他操作系统的定制组件模块。
69.s30、根据所述公共组件模块和所述对应的目标定制组件模块,生成所述待下载应用程序的目标客户端应用;
70.需要理解的是,目标定制组件模块为用户根据实际的需要从应用官网提供的多个功能模块中所确定的至少一个功能模块,其中,该目标定制组件模块与用户终端的操作系统相对应。用户选择出与操作系统信息对应的目标定制组件模块后,服务器根据公共组件模块和对应的目标定制组件模块,生成待下载应用程序的目标客户端应用。
71.s40、发送所述目标客户端应用至所述用户终端。
72.需要理解的是,服务器生成目标客户端应用后,需要将该目标客户端应用发送至用户终端,也即是用户终端下载该目标客户端应用。
73.在本实施例中,服务器根据用户终端的操作系统信息后,根据该操作系统信息从多个定制组件模块中确定出与该操作系统信息对应的目标定制组件,并将公共组件模块与目标定制组件模块打包成目标客户端应用,即删除了与用户终端的操作系统无关的其他操作系统的定制组件模块,服务器根据不同操作系统专门构建客户端应用,用户下载生成的客户端应用时,减少了不需要功能,进而生成的客户端应用的体积也随之减小,进一步将客户端应用的下载效率提高、运行效率提升、内存开销减少,能实现客户端的极速响应,并且实现客户端应用的升级更新迭代更方便,减少升级时下行带宽不稳定或文件损坏带来的风险。
74.基于上述实施例,本技术提供一种应用程序构建方法的第二实施例。参照图4,图4示出了本技术应用程序构建方法的第二实施例的系统示意图。
75.本实施例中,在步骤s10之后还包括:
76.s50、对预设功能模块和至少一个操作系统的网页浏览器库进行组件化架构处理,得到至少一个模块组件;
77.需要理解的是,组件库架构具体将待下载应用程序分成多个模块组件,每个模块组件都是一个组件,开发的过程中可以单独调试部分模块组件,模块组件间不需要互相依赖,但可以相互调用,最终发布的时候所有模块组件以库文件的格式被主应用程序工程依
赖,并打包成1个应用程序包。
78.由此,服务器中包括多个待下载应用程序的预设功能模块和多个操作系统的网页浏览器库,服务器通过对预设功能模块和至少一个操作系统的网页浏览器库进行组件化架构,得到多个模块组件。
79.s60、对至少一个所述模块组件进行分发处理,得到所述公共组件模块和所述定制组件模块。
80.需要理解的是,服务器中包括应用程序的多个模块组件,此处的多个模块组件中包括公共组件模块和定制组件模块,通过对多个模块组件进行分发处理,有利于将多个模块组件的功能进行划分,得到公共组件模块和定制组件模块。
81.在本实施例中,服务器通过对待下载应用程序进的预设功能模块和至少一个操作系统的网页浏览器库进行组件化架构处理后,得到多个模块组件,并将多个模块组件进行分发处理,有利将多个模块组件的功能进行清楚的划分。
82.本技术提供一种应用程序构建方法的第三实施例。参照图5,图5示出了本技术应用程序构建方法的第二实施例的系统示意图。
83.本实施例中,步骤s10具体包括:
84.s11、获取由用户通过浏览器输入的下载请求;
85.s12、根据所述下载请求,获取所述用户终端的操作系统信息。
86.需要理解的是,用户可以通过浏览器登录待下载应用程序的官网,然后通过鼠标点击浏览器展示页面中的下载控件的方式在浏览器中输入下载请求。
87.例如,浏览器的下载界面中包括下载按钮,用户通过鼠标点击或者点击屏幕的方式触发下载按钮,即实现用户通过用户终端发送下载请求至服务器中,服务器获取由用户通过浏览器输入的下载请求。
88.在本实施例中,用户能通过浏览器发送下载请求指服务器中,过程简洁,给用户提供了便利。
89.本技术提供一种应用程序构建方法的第四实施例。参照图6,图6示出了本技术应用程序构建方法的第四实施例的系统示意图。
90.本实施例中,在步骤s8之后还包括:
91.s81、利用所述浏览器判断所述用户终端的操作系统类型,得到操作系统类型;
92.s82、根据所述操作系统类型,确定所述用户终端的操作系统信息。
93.需要理解的是,服务器可利用浏览器的navigator.appversion属性判断当前用户所使用的操作系统的类型,其中,navigator appversion属性是一个只读属性,该属性返回一个表示浏览器版本信息的字符串,服务器根据该属性返回的字符串确定该浏览器版本信息即操作系统的类型。服务器根据操作系统类型,确定用户终端的操作系统信息。
94.在本实施例中,服务器利用浏览器的navigator.appversion属性返回的字符串确定该浏览器版本信息,有利于方便地确定出当前浏览器的操作系统类型并进一步确定操作系统信息。
95.作为一个实施例,步骤s30具体包括:
96.s301、提取所述操作系统信息的内核版本信息;
97.s302、根据所述内核版本信息、所述公共组件模块和所述对应的目标定制组件模
块,生成所述目标客户端应用。
98.需要理解的是,操作系统信息的内核版本信息具体为用户终端操作系统的核心,该内核版本负责用户终端的进程、内存、设备驱动程序、文件和网络系统,决定了用户终端系统的性能和稳定性,该内核版本以独占的方式执行最底层的任务,保证用户终端系统正常运行,并且有利于协调多个并发进程,管理进程使用的内存,使多个进程之间不产生冲突。由此可见内核版本信息对操作系统的作用至关重要,因此服务器在生成目标客户端应用时除了包括公共组件模块和对应的目标定制组件模块,还需要包括用户终端的当前操作系统的版本内核,进而实现目标客户端应用的正常运行。
99.在本实施例中,服务器提取操作系统信息的内核版本信息后,根据内核版本信息、公共组件模块和对应的目标定制组件模块,生成所述目标客户端应用,有利于更好地生成客户端应用。
100.基于同一申请构思,本技术还提供了一种应用程序构建装置。参阅图7,图7为本技术提供的一种应用程序构建装置的结构示意图,该装置具体包括:
101.获取模块700,用于获取用户终端的操作系统信息、以及待下载应用程序的公共组件模块和定制组件模块;
102.筛选模块710,用于从所述定制组件模块中筛选出与所述操作系统信息对应的目标定制组件模块;
103.生成模块720,用于根据所述公共组件模块和所述对应的目标定制组件模块,生成所述待下载应用程序的目标客户端应用;
104.发送模块730,用于发送所述目标客户端应用至所述用户终端。
105.本实施例的技术方案,通过各个功能模块间的相互配合,通过获取用户终端的操作系统信息、以及待下载应用程序的公共组件模块和定制组件模块;从所述定制组件模块中筛选出与所述操作系统信息对应的目标定制组件模块;根据所述公共组件模块和所述对应的目标定制组件模块,生成所述待下载应用程序的目标客户端应用;发送所述目标客户端应用至所述用户终端。
106.由此,本技术通过服务器根据用户终端的操作系统信息后,根据该操作系统信息从多个定制组件模块中确定出与该操作系统信息对应的目标定制组件,并将公共组件模块与目标定制组件模块打包成目标客户端应用,即删除了与用户终端的操作系统无关的其他操作系统的定制组件模块,服务器根据不同操作系统专门构建客户端应用,用户下载生成的客户端应用时,减少了不需要功能,进而生成的客户端应用的体积也随之减小,进一步将客户端应用的下载效率提高、运行效率提升、内存开销减少,能实现客户端的极速响应,并且实现客户端应用的升级更新迭代更方便,减少升级时下行带宽不稳定或文件损坏带来的风险。
107.此外,本技术实施例还提出一种计算机存储介质,存储介质上存储有应用程序构建程序,应用程序构建程序被处理器执行时实现如上文的应用程序构建方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。确定为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执
行。
108.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
109.另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
110.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技
111.术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储5在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
112.0以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表