子应用部署方法和装置与流程

文档序号:24412988发布日期:2021-03-26 20:04阅读:116来源:国知局
子应用部署方法和装置与流程

1.本发明涉及图像处理技术领域,特别是指一种子应用部署方法、装置、电子设备和计算机可读存储介质。


背景技术:

2.在开发网络通信系统时,由于不同模块的功能相互独立,当某一功能模块升级时,会影响其他功能模块的正常使用,同时也影响新功能的增量升级。当前网络通信中,每当有新应用需要上线时,往往修改主应用代码,告诉主应用子应用的部署地址,导致主应用也重新部署,且一次只能部署到指定环境,使得每次构建过程相当耗时;由于不同微应用都需要与后端主应用建立长连接进行通信,会非常影响系统性能,因此,亟需一种方案来解决此类问题。


技术实现要素:

3.本发明要解决的是现有应用部署方式效率低的问题。
4.为解决上述技术问题,本发明的实施例提供一种子应用部署方法包括:将子应用部署到至少一个指定服务器上;将子应用的应用信息维护在数据库中,其中,应用信息包括子应用被部署到的指定服务器的网络地址以及子应用的属性信息;当主应用接收到操作界面调用指令时,从与主应用对应的数据库中调取子应用的应用信息,根据调取的应用信息中的属性信息渲染主应用的操作界面;以及在接收到针对子应用的操作指令时,根据子应用的应用信息中的网络地址调用子应用。
5.在本发明的实施例中,将子应用部署到至少一个指定服务器上包括:根据至少一个指定服务器的网络地址编译子应用的应用代码;根据子应用的应用代码构建网络工程静态文件;以及根据至少一个指定服务器的网络地址,修改网络工程静态文件中的访问地址,以将子应用部署到至少一个指定服务器上。
6.在本发明的实施例中,根据子应用的应用代码构建网络工程静态文件包括:将子应用的应用代码拉取到工程编译模块所在的计算节点;以及在工程编译模块所在的计算节点,根据子应用的应用代码构建并输出网络工程静态文件。
7.在本发明的实施例中,当主应用接收到操作界面调用指令时,从数据库中调取子应用的应用信息包括:当主应用接收到操作界面调用指令时,向后台服务器发送加载子应用信息的加载指令;以及后台服务器从数据库中读取子应用的应用信息;以及后台服务器将应用信息发送给主应用。
8.在本发明的实施例中,该方法进一步包括:当后台服务器有要反馈给子应用的服务消息时,后台服务器将服务消息发送给主应用;主应用将服务信息分发给数据库中包括的子应用的应用信息中的网络地址;子应用将服务信息反馈给观察应用;以及通过订阅观察应用的接收到的服务信息调整子应用的界面元素。
9.在本发明的实施例中,后台服务器通过长连接将服务消息发送给主应用;和/或,
主应用通过钩子函数将服务信息分发给数据库中包括的子应用的应用信息中的网络地址。
10.在本发明的实施例中,子应用的属性信息包括子应用的名称信息。
11.本发明的实施例还提供一种子应用部署装置包括:部署模块,配置为将子应用部署到至少一个指定服务器上;维护模块,配置为将子应用的应用信息维护在数据库中,其中,应用信息包括子应用被部署到的指定服务器的网络地址以及子应用的属性信息;渲染模块,配置为当主应用接收到操作界面调用指令时,从与主应用对应的数据库中调取子应用的应用信息,根据调取的应用信息中的属性信息渲染主应用的操作界面;以及调用模块,配置为在接收到针对子应用的操作指令时,根据子应用的应用信息中的网络地址调用子应用。
12.在本发明的实施例中,部署模块包括:编译单元,配置为根据至少一个指定服务器的网络地址编译子应用的应用代码;构建单元,配置为根据子应用的应用代码构建网络工程静态文件;以及修改单元,配置为根据至少一个指定服务器的网络地址,修改网络工程静态文件中的访问地址,以将子应用部署到至少一个指定服务器上。
13.在本发明的实施例中,构建单元进一步配置为:将子应用的应用代码拉取到工程编译模块所在的计算节点;以及在工程编译模块所在的计算节点,根据子应用的应用代码构建并输出网络工程静态文件。
14.在本发明的实施例中,调用模块进一步配置为:当主应用接收到操作界面调用指令时,向后台服务器发送加载子应用信息的加载指令;以及后台服务器从数据库中读取子应用的应用信息;以及后台服务器将应用信息发送给主应用。
15.在本发明的实施例中,子应用部署装置进一步包括:发送模块,配置为当后台服务器有要反馈给子应用的服务消息时,后台服务器将服务消息发送给主应用;分发模块,配置为主应用将服务信息分发给数据库中包括的子应用的应用信息中的网络地址;反馈模块,配置为子应用将服务信息反馈给观察应用;以及订阅更新模块,配置为通过订阅观察应用的接收到的服务信息调整子应用的界面元素。
16.在本发明的实施例中,后台服务器通过长连接将服务消息发送给主应用;和/或,主应用通过钩子函数将服务信息分发给数据库中包括的子应用的应用信息中的网络地址。
17.在本发明的实施例中,子应用的属性信息包括子应用的名称信息。
18.本发明的实施例还提供一种电子设备,包括:处理器;存储器;以及存储在存储器中的计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上所述的子应用部署方法。
19.本发明的实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,该计算机程序指令在被处理器运行时使得处理器执行如上所述的子应用部署方法。
20.本发明的实施例还提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令在被处理器运行时使得处理器执行如上所述的子应用部署方法。
21.本发明的上述技术方案的有益效果如下:上述方案中,通过将子应用的应用信息维护在与主应用对应的数据库中,可通过实时调用子应用的属性信息实现主应用的操作界面的实时渲染,同时由于子应用被部署到的指定服务器的网络地址也被维护在数据库中,当用户要对子应用进行操作时,可调用该
网络地址直接实现对子应用的操作。更重要的是,当有与该主应用关联的新的子应用被开发出来时,通过实时调用新开发的子应用的属性信息便可实现主应用的操作界面的实时更新,而且用户也可直接对新开发的子应用进行操作,由此实现的子应用的快速部署和升级,而且不会影响其他已有子应用的正常使用。
附图说明
22.图1为本发明的一种子应用部署方法的流程示意图。
23.图2为本发明的一种子应用部署方法中调用子应用的应用信息的过程的流程示意图。
24.图3为本发明的一种子应用部署方法中渲染出操作界面的原理示意图。
25.图4为本发明的一种子应用部署方法中渲染出操作界面的原理示意图。
26.图5为本发明的一种子应用部署方法中子应用部署到指定服务器的流程示意图。
27.图6为本发明的一种子应用部署方法的原理示意图。
28.图7为本发明的一种子应用部署方法中更新用户端的浏览器页面的流程示意图。
29.图8为本发明的一种子应用部署方法中更新用户端的浏览器页面的原理示意图。
30.图9为本发明的一种子应用部署装置的结构示意图。
31.图10为本发明的一种子应用部署装置的结构示意图。
32.图11为本发明的一种电子设备的结构示意图。
具体实施方式
33.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
34.本发明针对现有的应用部署方式效率低的问题,提供一种子应用部署方法、装置、电子设备和计算机可读存储介质。
35.示例性子应用部署方法图1为本发明的一种子应用部署方法的流程示意图。如图1所示,本发明的实施例的子应用部署方法包括如下步骤。
36.101,将子应用部署到至少一个指定服务器上。
37.子应用是指本身无法独立运行的,需要依赖主应用运行的应用程序。例如,微信平台的微应用可以看作是一种子应用,一般应用在移动端,对应的主应用就是微信,微应用就需要依赖微信运行,用户需要在微信的操作界面上才能调用微应用,以满足各种需求。子应用也需要被部署到指定服务器上,利用指定服务器上的计算资源和/或存储资源才能运行。
38.应当理解,根据应用场景的不同,子应用可能被部署到一个或多个指定服务器上,当同一个子应用被部署到多个指定服务器时,这种部署其实是一种服务器集群部署。然而,本发明对子应用部署到的指定服务器的数量并不做严格限定。
39.102,将子应用的应用信息维护在数据库中,其中,应用信息包括子应用被部署到的指定服务器的网络地址以及子应用的属性信息。
40.当子应用被部署在至少一个指定服务器上后,子应用的应用信息可包括子应用被部署到的指定服务器的网络地址以及子应用的属性信息。该指定服务器的网络地址用于在
后续配合主应用运行的过程中,用于找到子应用实际被部署到的网络地址。属性信息用于在主应用渲染操作界面时,能够将子应用相关的属性信息渲染在主应用的操作界面上(例如通过图标、菜单选项等呈现子应用的名称信息),以便用户对子应用进行操作。
41.103,当主应用接收到操作界面调用指令时,从与主应用对应的数据库中调取子应用的应用信息,根据调取的应用信息中的属性信息渲染主应用的操作界面。
42.当主应用的操作界面被用户调用时,意味着用户要对于主应用关联的子应用进行操作,此时可从与主应用对应的数据库中调取子应用的应用信息,根据调取的应用信息中的属性信息渲染主应用的操作界面。
43.在本发明的实施例中,如图2所示,上述调用子应用的应用信息的过程可通过后台服务器实现。具体而言,当主应用接收到操作界面调用指令时,向后台服务器发送加载子应用信息的加载指令,后台服务器从数据库中读取子应用的应用信息,然后后台服务器将应用信息发送给主应用。
44.例如,主应用其实是一个用户管理系统,主应用部署在10.154.192.111服务器上;对应的有两个子应用,分配为机构管理模块和部门管理模块,机构管理模块部署在10.154.192.112、部门管理模块部署在10.154.192.113。该两个子应用的应用信息都会维护在于该用户管理系统对应的数据库中。当用户访问http://10.154.192.111/usermanage时,便相当于发出了操作界面调用指令,此时请求菜单接口便会得到两个菜单数据,并渲染出包括机构管理模块和部门管理模块的操作界面,如图3所示。
45.当有新的子应用被开发出来时,通过步骤103便可实现新的子应用的实时渲染。例如,当开发了新的子应用:人员管理模块时,该子应用部署在10.154.192.114。然后把人员管理模块的应用信息(子应用名称、对应指定服务器的网络地址等)配置到数据库中,然后当用户发出操作界面调用指令时便会触发菜单推送任务,人员管理模块就会推送到用户端的浏览器,此时浏览器中自动显示出“人员管理”,如图4所示。
46.104,在接收到针对子应用的操作指令时,根据子应用的应用信息中的网络地址调用子应用。
47.由于子应用的信息已经在主应用的操作界面上实时渲染出来,当用户要对子应用进行操作时,便可据子应用的应用信息中的网络地址调用子应用,以完成该子应用对应的功能。例如图4所示,当用户点击“人员管理”时,便会根据人员管理模块对应指定服务器的网络地址自动渲染人员管理的界面,以便于用户针对该子应用进行进一步操作。
48.由此可见,本发明的实施例提供的子应用部署方法,通过将子应用的应用信息维护在与主应用对应的数据库中,可通过实时调用子应用的属性信息实现主应用的操作界面的实时渲染,同时由于子应用被部署到的指定服务器的网络地址也被维护在数据库中,当用户要对子应用进行操作时,可调用该网络地址直接实现对子应用的操作。更重要的是,当有与该主应用关联的新的子应用被开发出来时,通过实时调用新开发的子应用的属性信息便可实现主应用的操作界面的实时更新,而且用户也可直接对新开发的子应用进行操作,由此实现的子应用的快速部署和升级,而且不会影响其他已有子应用的正常使用。
49.图5为本发明的一种子应用部署方法中子应用部署到指定服务器的流程示意图,以及图6为本发明的一种子应用部署方法的原理示意图。如图5和图6所示,该将子应用部署到至少一个指定服务器上的过程可具体包括如下步骤。
50.501,根据至少一个指定服务器的网络地址编译子应用的应用代码。
51.在实际的应用场景中,可能有多个用户群体,在多台指定服务器(每个服务器对应一个用户群体)上分别部署过同一套系统(包括已经部署过的主应用和对应的子应用),当开发了一个新的子应用需要部署上线时,就需要为这多个指定服务器同时部署,首先是需要把子应用的应用代码编译完成。
52.502,根据子应用的应用代码构建网络工程静态文件。
53.子应用的应用代码编译完成后,还需要构建成网络工程静态文件才能部署到服务器上运行。具体而言,可将子应用的应用代码拉取到工程编译模块所在的计算节点,然后在工程编译模块所在的计算节点,根据子应用的应用代码构建并输出网络工程静态文件。例如,可通过jenkins执行git命令,将子应用的应用代码拉取到jenkins所在的终端,然后jenkins将子应用的应用代码构建成可部署运行的网络工程静态文件。
54.503,根据至少一个指定服务器的网络地址,修改网络工程静态文件中的访问地址,以将子应用部署到至少一个指定服务器上。
55.具体而言,编译时需要指定部署环境的指定服务器的网络地址,所以编译好的网络工程静态文件只能被部署到一台指定服务器上,所以需要把构建好的网络工程静态文件放到服务器上之后,再修改网络工程静态文件中的访问地址。例如,可通过ansible将构建好的工程拉取到指定服务器,然后通过ansible修改主页面文件,修改里面引用脚本地址。使用jenkins构建静态文件,并使用ansible为不同环境创建了对应部署任务,部署前动态修改编译文件的访问地址,可保证不同环境代码的一致性。
56.图7为本发明的一种子应用部署方法中更新用户端的浏览器页面的流程示意图,以及图8为本发明的一种子应用部署方法中更新用户端的浏览器页面的原理示意图。如图7和8所示,该更新用户端的浏览器页面的流程可包括如下步骤。
57.701,当后台服务器有要反馈给子应用的服务消息时,后台服务器将服务消息发送给主应用。
58.在本发明的实施例中,后台服务器可通过长连接将服务消息发送给主应用。长连接可保证后台服务器和主应用之间的通信连接不中断,后台服务器有新消息时,可以实时传到主应用。
59.702,主应用将服务信息分发给数据库中包括的子应用的应用信息中的网络地址。
60.如图8所示,主应用可通过钩子函数将服务信息分发给数据库中包括的子应用的应用信息中的网络地址。
61.703,子应用将服务信息反馈给观察应用。
62.704,通过订阅观察应用的接收到的服务信息调整子应用的界面元素。
63.由此可见,通过主应用创建长连接,子应用创建观察应用,子应用的界面元素可通过订阅观察应用更新界面元素,每个子应用无需重复与后台服务器建立长连接,主应用收到消息后,再分发到子应用中,就可以达到每个子应用的每个子界面实时根据后台数据调整界面元素,整个通信架构更加简洁且效率更高。
64.示例性子应用部署装置图9为本发明的一种子应用部署装置的结构示意图。如图9所示,该一种子应用部署装置90包括:
部署模块901,配置为将子应用部署到至少一个指定服务器上;维护模块902,配置为将子应用的应用信息维护在数据库中,其中,应用信息包括子应用被部署到的指定服务器的网络地址以及子应用的属性信息;渲染模块903,配置为当主应用接收到操作界面调用指令时,从与主应用对应的数据库中调取子应用的应用信息,根据调取的应用信息中的属性信息渲染主应用的操作界面;以及调用模块904,配置为在接收到针对子应用的操作指令时,根据子应用的应用信息中的网络地址调用子应用。
65.由此可见,本发明的实施例提供的子应用部署装置,通过将子应用的应用信息维护在与主应用对应的数据库中,可通过实时调用子应用的属性信息实现主应用的操作界面的实时渲染,同时由于子应用被部署到的指定服务器的网络地址也被维护在数据库中,当用户要对子应用进行操作时,可调用该网络地址直接实现对子应用的操作。更重要的是,当有与该主应用关联的新的子应用被开发出来时,通过实时调用新开发的子应用的属性信息便可实现主应用的操作界面的实时更新,而且用户也可直接对新开发的子应用进行操作,由此实现的子应用的快速部署和升级,而且不会影响其他已有子应用的正常使用。
66.在本发明的实施例中,如图10所示,部署模块901包括:编译单元9011,配置为根据至少一个指定服务器的网络地址编译子应用的应用代码;构建单元9012,配置为根据子应用的应用代码构建网络工程静态文件;以及修改单元9013,配置为根据至少一个指定服务器的网络地址,修改网络工程静态文件中的访问地址,以将子应用部署到至少一个指定服务器上。
67.在本发明的实施例中,构建单元9012进一步配置为:将子应用的应用代码拉取到工程编译模块所在的计算节点;以及在工程编译模块所在的计算节点,根据子应用的应用代码构建并输出网络工程静态文件。
68.在本发明的实施例中,调用模块904进一步配置为:当主应用接收到操作界面调用指令时,向后台服务器发送加载子应用信息的加载指令;以及后台服务器从数据库中读取子应用的应用信息;以及后台服务器将应用信息发送给主应用。
69.在本发明的实施例中,如图10所示,子应用部署装置100进一步包括:发送模块905,配置为当后台服务器有要反馈给子应用的服务消息时,后台服务器将服务消息发送给主应用;分发模块906,配置为主应用将服务信息分发给数据库中包括的子应用的应用信息中的网络地址;反馈模块907,配置为子应用将服务信息反馈给观察应用;以及订阅更新模块908,配置为通过订阅观察应用的接收到的服务信息调整子应用的界面元素。
70.在本发明的实施例中,后台服务器通过长连接将服务消息发送给主应用;和/或,主应用通过钩子函数将服务信息分发给数据库中包括的子应用的应用信息中的网络地址。
71.在本发明的实施例中,子应用的属性信息包括子应用的名称信息。
72.上述子应用部署装置90中的各个模块的具体功能和操作已经在上面参考图1到图8描述的子应用部署方法中进行了详细介绍,上述子应用部署装置90中的各个模块的具体功能和操作已经在上面参考图1到图8描述的子应用部署方法中进行了详细介绍,因此,这里将省略其重复描述。
73.需要说明的是,根据本发明的实施例的子应用部署装置90可以作为一个软件模块和/或硬件模块而集成到电子设备100中,换言之,该电子设备100可以包括该子应用部署装置90。例如,该子应用部署装置90可以是该电子设备100的操作系统中的一个软件模块,或者可以是针对于其所开发的一个应用程序;当然,该子应用部署装置90同样可以是该电子设备100的众多硬件模块之一。
74.在本发明另一实施例中,该子应用部署装置90与该电子设备100也可以是分立的设备(例如,服务器),并且该子应用部署装置90可以通过有线和/或无线网络连接到该电子设备100,并且按照约定的数据格式来传输交互信息。
75.示例性电子设备图11为本发明的一种电子设备的结构示意图。如图11所示,该电子设备100包括:一个或多个处理器1001和存储器1002;以及存储在存储器1002中的计算机程序指令,计算机程序指令在被处理器1001运行时使得处理器1001执行如上述任一实施例的子应用部署方法。
76.处理器1001可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
77.存储器1002可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1001可以运行程序指令,以实现上文的本发明的各个实施例的子应用部署方法中的步骤以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如光线强度、补偿光强度、滤光片的位置等信息。
78.在一个示例中,电子设备100还可以包括:输入装置1003和输出装置1004,这些组件通过总线系统和/或其他形式的连接机构(图11中未示出)互连。
79.例如,在该电子设备是如工业生产线上的机器人时,该输入装置1003可以是摄像头,用于捕捉待加工零件的位置。在该电子设备是单机设备时,该输入装置1003可以是通信网络连接器,用于从外部的可移动设备接收所采集的输入信号。此外,该输入装置1003还可以包括例如键盘、鼠标、麦克风等等。
80.该输出装置1004可以向外部输出各种信息,例如可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
81.当然,为了简化,图11中仅示出了该电子设备100中与本发明有关的组件中的一些,省略了诸如总线、输入装置/输出接口等组件。除此之外,根据具体应用情况,电子设备100还可以包括任何其他适当的组件。
82.示例性计算机程序产品和计算机可读存储介质除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,包括计算
机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上述任一实施例的子应用部署方法中的步骤。
83.计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
84.此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性子应用部署方法”部分中描述的根据本发明各种实施例的子应用部署方法中的步骤。
85.计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器((ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
86.以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
87.本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
88.还需要指出的是,在本发明的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。
89.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
90.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
91.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1