一种新手引导服务的实现方法、装置和系统与流程

文档序号:24820293发布日期:2021-04-27 14:34阅读:104来源:国知局
一种新手引导服务的实现方法、装置和系统与流程

1.本发明涉及计算机软件领域,尤其涉及一种新手引导服务的实现方法、装置和系统。


背景技术:

2.新手引导服务是指在用户打开软件的时候向用户展示软件的指导性内容,一般在较短的时间内让用户了解产品的特性和基本操作方法。软件的版本并非是一成不变的,新手引导服务的内容也会随着软件版本的更新而更新。
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.所述新手引导服务中还包括与所述新手引导文件对应的服务项的服务标识;
35.该系统还包括用户侧客户端,所述用户侧客户端打开所述软件的页面时,根据所述页面中包含的服务项的服务标识从所述用户侧服务器上获取对应的新手引导文件并展示。
36.在上述的方案中,将服务开发平台和软件开发平台部署在不同的集群中,各自独立进行新手引导服务和软件的开发,使新手引导服务的开发不强依赖于软件,而对于开发出的新手引导服务与软件的版本信息建立一对一或者一对多的关联关系,可以实现对多种软件对应的新手引导服务、同一软件的多个版本对应的新手引导服务、以及定制化的新手引导服务统一规划和维护,提高了管理的灵活性。
附图说明
37.图1示出了新手引导服务实现的网络架构示意图;
38.图2示出了新手引导服务实现的方法流程示意图;
39.图3示出了新手引导服务实现的装置结构示意图;
40.图4示出了新手引导服务实现的系统结构示意图。
具体实施方式
41.为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.为了更加灵活地维护软件的新手引导服务,本发明一实施例提供了一种新手引导服务的实现方案,为此本发明实施例提供了一种新的网络架构,该架构的示意图如图1所示,该架构中包括:
43.两个服务器集群,服务器集群1和服务器集群2,本发明实施例中的服务器集群是指将多个服务器、例如x86服务器的资源集中起来共同提供一种或多种服务,集群可以利用多个计算机进行并行计算从而获得较高的计算速度,也可以用多个计算机做备份,从而使得任何一个坏了整个系统还是能正常运行;其中:
44.服务器集群1上部署有软件开发平台和数据库,其中,软件开发平台用于开发和维护软件,包括开发新的软件,维护软件的版本更新,数据库用于存储软件的各个版本信息,例如版本号。
45.服务器集群2上部署有服务开发平台,用于开发和维护新手引导服务。
46.在用户侧包括服务器和客户端,软件开发平台将开发的软件打包成可快速部署的容器推送给用户侧服务器,以实现软件在用户侧服务器的部署,软件部署完成后,用户侧客户端可以访问用户侧服务器实现软件的安装和使用,客户端可以安装在用户终端上;服务开发平台生成或更新新手引导服务后,等待用户侧服务器从服务开发平台中拉取新手引导服务,用户侧客户端通过访问用户侧服务器实现新手引导服务的安装、更新和使用。
47.在上述架构中,服务开发平台和软件开发平台部署在不同的服务器集群中,实现了新手引导服务和软件的解耦,可以在单独的集群中对多种软件对应的新手引导服务、同一软件的多个版本对应的新手引导服务、以及定制化的新手引导服务统一规划和维护,基于此可以更加灵活地管理新手引导服务。
48.基于图1所示的网络架构,本发明一实施例提供了一种新手引导服务的实现方法,该方法实施的基础是:第一服务器集群(即图1所示的服务器集群1)中部署有软件开发平台
和数据库,通过所述软件开发平台开发软件,所述数据库中存储有所述软件的版本信息,第二服务器集群(即图1所示的服务器集群2)中部署有服务开发平台,通过所述服务开发平台用于针对所述软件开发对应的新手引导服务,该如图2所示,该方法包括:
49.步骤201,服务开发平台从数据库中获取软件的版本信息;
50.步骤202,服务开发平台将新手引导服务与软件的版本信息建立一对一或者一对多的关联关系;
51.步骤203,服务开发平台保存新手引导服务,以使部署有软件的用户侧服务器根据软件的版本信息从服务开发平台获取对应的新手引导服务。
52.在该实施例中,位于第二服务器集群的服务开发平台能够与位于第一服务器集群的数据库进行通信,以获取软件的版本信息、例如版本号,将版本信息和新手引导服务进行关联,该关联关系可以是一对一的关联关系,也可以是一对多的关联关系。其中,一对一的关联关系可以是一个新手引导服务关联到一个软件的一个版本信息;一对多的关联关系可以是一个新手引导服务关联多个软件的多个版本信息,也可以是一个新手引导服务关联到一个软件的多个版本信息。
53.基于上述版本信息和新手引导服务的关联关系的建立,可以实现对多版本的新手引导服务的管理,即使面对企业级用户根据自己要求定制的多个不同版本的软件,其相应的新手引导服务也能够简单方便的进行管理,且所有的新手引导服务都集中在该第二服务器集群中管理,不会因为企业服务器(即用户侧服务器)的多场地特性,而影响新手引导服务的管理。
54.新手引导服务开发后,需要进行发布,即在本地(服务开发平台)进行保存,以便用户侧服务器能够根据其上部署的软件的版本信息获取到对应的新手引导服务。在一个实施例中,用户侧服务器可以定时从服务开发平台中拉取相应的新手引导服务,例如,用户侧服务器中可以创建定时任务,在闲置的时间点从服务开发平台中拉取与当前部署的软件的版本信息对应的新手引导服务。在一个实施例中,当前软件版本信息关联的新手引导服务发生变化时,再进行拉取,否则,用户侧服务器还使用本地缓存的新手引导服务。其中,当前软件版本信息关联的新手引导服务发生变化时,再进行拉取,可以为:
55.增加了新的新手引导服务,可以仅拉取该新的新手引导服务;
56.已有的新手引导服务的内容发生了变化,拉取更新后的新手引导服务;
57.已有的新手引导服务被删除,此时用户侧服务器可以不执行拉取操作,仅将本地的该已有的新手引导服务删除,或者,也可以不删除。
58.基于上述的方案,即可实现新手引导服务的灵活管理。
59.在一个实施例中,一个软件可包括多个服务项,那么,一个新手引导服务包括一个新手引导文件时,该新手引导文件对应一个软件的一个服务项,或对应多个软件的同一个服务项;一个新手引导服务包括多个新手引导文件时,每个新手引导文件对应一个软件的一个服务项,或对应多个软件的同一个服务项。
60.关于服务项,例如,一款聊天软件,可以包括与联系人文字聊天的服务项、与联系人视频聊天的服务项、与联系人语音聊天的服务项、联系人信息编辑的服务项等等,即软件提供的服务由多个服务项组成。一个新手引导服务可包括多个新手引导文件,也可以仅包括一个新手引导文件。每个新手引导文件可对应一个服务项,需要指出的是,这个服务项可
对应于多个软件,也可以对应于一个软件。
61.在一个实施例中,软件的每个服务项对应一个唯一的服务标识,基于此,新手引导服务中还包括新手引导文件对应的服务项的服务标识。
62.下面通过具体的例子来说明新手引导服务的实现过程,假设软件开发平台开发的软件有软件a和软件b,a1、a2、b1或b2为软件的版本号,存储于数据库,软件a和软件b包括的各个服务项如表1所示。
[0063][0064]
表1
[0065]
表1中,服务项1

6为各个服务项的标识,通过表1的例子可以看出,同一个软件的不同版本可以包括相同的服务项,也可可包括不同的服务项。另外,不同的软件中也可以包括相同的服务项(表1中未示出)。
[0066]
基于表1所示的软件和服务项,可以开发出下面几种形式的新手引导服务:
[0067]
一、一个新手引导服务仅包括1个新手引导文件的情形:
[0068]
开发的新手引导服务如下:
[0069]
新手引导服务1,关联版本号a1和a2,包括1个新手引导文件,对应服务项1;
[0070]
新手引导服务2,关联版本号a1和a2,包括1个新手引导文件,对应服务项2;
[0071]
新手引导服务3,关联版本号a2,包括1个新手引导文件,对应服务项3。
[0072]
如果用户侧服务器上部署了a1,则根据a1可拉取新手引导服务1、新手引导服务2;如果用户侧服务器上部署了a2,则根据a2可拉取新手引导服务1、新手引导服务2和新手引导服务3。当用户侧客户端打开a1时,若当前页面包括了服务项1,则用户侧客户端可以根据标识

服务项1向用户侧服务器获取到新手引导服务1中的新手引导文件,并向用户展示该新手引导文件。
[0073]
二、一个新手引导服务包括多个新手引导文件的情形:
[0074]
开发的新手引导服务如下:
[0075]
新手引导服务4,关联版本号a1和a2,包括3个新手引导文件,分别对应服务项1

3;
[0076]
新手引导服务5,关联版本号b1和b2,包括3个新手引导文件,分别对应服务项4

6。
[0077]
如果用户侧服务器上部署了b1或b2,则根据b1或b2可拉取新手引导服务5;如果用户侧服务器上部署了a1或a2,则根据a1或a2可拉取新手引导服务4。当用户侧客户端打开a1时,若当前页面包括了服务项2,则用户侧客户端可以根据服务项2向用户侧服务器获取到新手引导服务4中对应于服务项2的1个新手引导文件,并向用户展示该新手引导文件。
[0078]
开发的新手引导服务也可以如下:
[0079]
新手引导服务6,关联版本号a1、a2、b1和b2,包括6个新手引导文件,分别对应服务项1

6。
[0080]
如果用户侧服务器上部署了a1、a2、b1或b2,则根据a1、a2、b1或b2可拉取新手引导服务6。当用户侧客户端打开b1时,若当前页面包括了服务项4和6,则用户侧客户端可以根据服务项4和6向用户侧服务器获取到新手引导服务6中对应于服务项4和6的2个新手引导文件,并向用户展示该2个新手引导文件。
[0081]
通过上述表1的例子可以看出,本实施例的方案可以基于软件中的服务项进行新手引导服务的开发,即将所有软件的服务项统一管理,合理组合起来开发对应的新手引导服务,如此,相比于针对某个版本的软件开发对应的新手引导服务而言,基于服务项的新手引导服务的管理更为精细,方式更为灵活。例如,对于某些功能相似的软件,其中包含的一些服务项是相同的,针对这些服务项单独开发的新手引导服务不仅通用性较强,还可以节省资源。再例如,当某个软件版本更新时,其只更新了该软件中的某个服务项,那么基于上述的服务项开发的新手引导服务的方式,可以仅对包含该服务项对应的新手引导文件进行更新。
[0082]
在本发明上述的示例中,新手引导文件中包括文本、图片、视频和/或音频,也可以包括多种格式的子文件,本发明中对此不作限制。新手引导文件还可以是一个单独的视频文件、音频文件或图片文件,本发明示例中对于新手引导文件的内容不作限制,任何能够说明其对应的服务项的信息都可以作为新手引导文件。
[0083]
为了实现上述的新手引导服务实现方法,如图2所示,本发明一实施例还提供了一种新手引导服务实现装置,该装置应用于上述的服务开发平台,该装置包括:
[0084]
开发模块10,用于开发与所述软件对应的新手引导服务;
[0085]
交互模块20,用于从所述数据库中获取所述软件的版本信息;
[0086]
配置模块30,用于将所述新手引导服务与所述软件的版本信息建立一对一或者一对多的关联关系;
[0087]
存储模块40,用于保存所述新手引导服务,以使部署有所述软件的用户侧服务器根据所述软件的版本信息获取对应的的新手引导服务。
[0088]
所述软件包括多个服务项;所述新手引导服务包括新手引导文件;
[0089]
所述一个新手引导服务包括一个新手引导文件时,该新手引导文件对应一个软件的一个服务项,或对应多个软件的同一个服务项;
[0090]
所述一个新手引导服务包括多个新手引导文件时,每个新手引导文件对应一个软件的一个服务项,或对应多个软件的同一个服务项。
[0091]
所述软件的每个服务项对应一个唯一的服务标识;
[0092]
所述新手引导服务中还包括与所述新手引导文件对应的服务项的服务标识;
[0093]
所述服务标识用于在用户侧客户端打开所述软件的页面时,触发所述客户端根据所述页面中包含的服务项的服务标识从部署有所述软件的用户侧服务器上获取对应的新手引导文件并展示。
[0094]
本发明另一实施例还提供了一种新手引导服务的实现系统,如图4所示,该系统包括:第一服务器集群、第二服务器集群和用户侧服务器,其中:
[0095]
第一服务器集群中部署有软件开发平台和数据库,第一服务器集群通过软件开发平台开发软件,数据库中存储有软件的版本信息;
[0096]
第二服务器集群中部署有服务开发平台,第二服务器集群通过服务开发平台:开
发与软件对应的新手引导服务,从数据库中获取软件的版本信息,将新手引导服务与软件的版本信息建立一对一或者一对多的关联关系,并保存新手引导服务;
[0097]
用户侧服务器上部署有软件,用户侧服务器根据部署的软件的版本信息从第二服务器集群中的服务开发平台获取对应的新手引导服务。
[0098]
其中,软件包括多个服务项;的新手引导服务包括新手引导文件;
[0099]
一个新手引导服务包括一个新手引导文件时,该新手引导文件对应一个软件的一个服务项,或对应多个软件的同一个服务项;
[0100]
一个新手引导服务包括多个新手引导文件时,每个新手引导文件对应一个软件的一个服务项,或对应多个软件的同一个服务项。
[0101]
软件的每个服务项对应一个唯一的服务标识;
[0102]
新手引导服务中还包括与新手引导文件对应的服务项的服务标识;
[0103]
该系统还包括用户侧客户端,用户侧客户端打开软件的页面时,根据页面中包含的服务项的服务标识从用户侧服务器上获取对应的新手引导文件并展示。
[0104]
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
[0105]
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0106]
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
[0107]
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0108]
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
[0109]
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇

或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
[0110]
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
[0111]
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0112]
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1