CN112511608A - 微服务模块注册与测试方法、装置、设备及存储介质 - Google Patents
微服务模块注册与测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112511608A CN112511608A CN202011298682.0A CN202011298682A CN112511608A CN 112511608 A CN112511608 A CN 112511608A CN 202011298682 A CN202011298682 A CN 202011298682A CN 112511608 A CN112511608 A CN 112511608A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- module
- service module
- tested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010998 test method Methods 0.000 title claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 127
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012795 verification Methods 0.000 claims description 25
- 238000009434 installation Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 9
- 230000008676 import Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种微服务模块注册与测试方法、装置、设备及存储介质,用于提高微服务页面切换性能。微服务模块注册与测试方法包括:按照微服务注册请求获取业务主模块的标识编码、入口页面信息和至少一个微服务模块对应的标识编码;按照每个微服务模块对应的别名标识将每个微服务模块添加至入口页面信息中;对每个微服务模块进行视图实例化和路由信息配置,并业务主模块和每个微服务模块映射存储至模块注册数据表;按照微服务测试请求从模块注册数据表中获取并测试待测试业务主模块和至少一个待测试微服务模块,得到目标微服务应用。此外,本发明还涉及区块链技术,目标微服务应用可存储于区块链节点中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种微服务模块注册与测试方法、装置、设备及存储介质。
背景技术
单页面应用SPA是目前前端主流的应用模型,它可以动态重写当前页面与用户交互,而不需要重新加载整个页面,提高了页面跳转的性能,并可进行模块化的开发,使得应用更加容易地适配多个设备。
传统的单页面应用可以用来构建独立应用系统,随着业务体量的增大,开发团队人员数量的增加,为独立应用带来极大挑战,一般采用微服务融合多个子系统,但是SPA限制了微服务的实现,因为单页面应用的路由跳转是前端路由,也就是假路由,无法直接跳转到其他应用实例的路由中,导致浏览器的部分功能出现异常,例如前进和后退、页面刷新、书签、发送链接以及在新窗口或选项卡中打开链接,存在微服务页面跳转准确性低的问题。
发明内容
本发明提供了一种微服务模块注册与测试方法、装置、设备及存储介质,用于通过微服务模块化减少重复代码,并提高页面切换性能。
为实现上述目的,本发明第一方面提供了一种微服务模块注册与测试方法,包括:当接收到微服务注册请求时,按照所述微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据所述业务主模块对应的标识编码获取业务主模块的入口页面信息,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制;基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至所述入口页面信息中,得到已更新的入口页面信息;在所述已更新的入口页面信息中对所述每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据所述配置后的入口页面信息将所述业务主模块和每个微服务模块映射存储至模块注册数据表中,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用;当接收到微服务测试请求时,按照所述微服务测试请求从所述模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对所述待测试业务主模块和所述至少一个待测试微服务模块进行安装测试,得到目标微服务应用。
可选的,在本发明第一方面的第一种实现方式中,所述当接收到微服务注册请求时,按照所述微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据所述业务主模块对应的标识编码获取业务主模块的入口页面信息,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制,包括:当接收到微服务注册请求时,解析所述微服务注册请求,得到解析结果,并判断所述解析结果是否为空值;当所述解析结果不为空值时,从所述解析结果中读取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并对所述业务主模块对应的标识编码和所述至少一个微服务模块对应的标识编码进行信息校验,得到校验结果,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制;当所述校验结果为校验通过时,按照所述业务主模块对应的标识编码查询第一预设数据表,得到业务主模块的入口页面路径信息,并按照所述入口页面路径信息读取业务主模块的入口页面信息。
可选的,在本发明第一方面的第二种实现方式中,所述基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至所述入口页面信息中,得到已更新的入口页面信息,包括:根据每个微服务模块对应的标识编码查询第二预设数据表,得到每个微服务模块对应的索引序号;获取预设别名前缀,对所述预设别名前缀分别和每个微服务模块对应的索引序号进行组合,得到每个微服务模块对应的别名标识;对每个微服务模块设置文档对象模型节点,并将每个微服务模块对应的别名标识设置为每个微服务模块的文档对象模型节点对应的节点标识符,得到每个微服务模块对应的文档对象模型信息,并将每个微服务模块对应的文档对象模型信息添加至所述入口页面信息中,得到已更新的入口页面信息。
可选的,在本发明第一方面的第三种实现方式中,所述在所述已更新的入口页面信息中对所述每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据所述配置后的入口页面信息将所述业务主模块和每个微服务模块映射存储至模块注册数据表中,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用,包括:在所述入口页面信息中按照每个微服务模块对应的别名标识初始化对应的子视图文件实例,基于预设导入函数引用每个微服务模块的预设入口文件,并将每个微服务模块的预设入口文件挂载至每个微服务模块对应的子视图文件实例中;获取每个微服务模块的路由实例,并将每个微服务模块的路由实例绑定至每个微服务模块对应的子视图文件实例中,每个微服务模块的路由实例对应多个页面节点,每个页面节点之间存在路由关系;对所述业务主模块和所述至少一个微服务模块设置消息订阅机制,得到配置后的入口页面信息,所述消息订阅机制用于监测每个微服务模块对应的子视图文件实例中的路由地址更新状态,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用;获取业务主模块对应的版本标识和每个微服务模块对应的版本标识,根据所述配置后的入口页面信息将所述业务主模块对应的标识编码、所述业务主模块对应的版本标识、每个微服务模块对应的标识编码和每个微服务模块对应的版本标识映射存储至模块注册数据表中。
可选的,在本发明第一方面的第四种实现方式中,所述当接收到微服务测试请求时,按照所述微服务测试请求从所述模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对所述待测试业务主模块和所述至少一个待测试微服务模块进行安装测试,得到目标微服务应用,包括:当接收到微服务测试请求时,对所述微服务测试请求进行参数解析,得到所述待测试业务主模块对应的版本标识,并根据所述待测试业务主模块对应的版本标识从所述模块注册数据表中查询每个微服务模块对应的版本标识;按照所述待测试业务主模块对应的版本标识和每个待测试微服务模块对应的版本标识分别确定各模块对应的代码仓库地址,并根据各模块对应的代码仓库地址获取待测试业务主模块对应的仓库代码文件和每个待测试微服务模块对应的仓库代码文件;按照每个待测试微服务模块对应的别名标识对每个待测试微服务模块生成对应的代码根目录,将每个待测试微服务模块对应的仓库代码文件迁移至每个待测试微服务模块对应的代码根目录下,并将每个待测试微服务模块对应的代码根目录复制到所述待测试业务主模块的预设微服务模块目录中,得到更新后的待测试业务主模块;通过预设模块打包器将所述更新后的待测试业务主模块进行打包处理,得到打包后的项目文件,并将所述打包后的项目文件发送至测试终端,以使得所述测试终端根据预设测试环境配置文件对所述打包后的项目文件依次进行安装部署与业务逻辑组合测试,得到目标微服务应用。
可选的,在本发明第一方面的第五种实现方式中,在所述当接收到微服务测试请求时,按照所述微服务测试请求从所述模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对所述待测试业务主模块和所述至少一个待测试微服务模块进行安装测试,得到目标微服务应用之后,所述微服务模块注册与测试方法还包括:当接收到微服务发布请求时,根据所述微服务发布请求从预设数据表中查询业务集群地址;按照所述业务集群地址将所述目标微服务应用推送至业务集群,以使得所述业务集群对所述目标微服务应用进行部署安装与业务上线运行。
可选的,在本发明第一方面的第六种实现方式中,所述按照所述业务集群地址将所述目标微服务应用推送至业务集群,以使得所述业务集群对所述目标微服务应用进行部署安装与业务上线运行,包括:将所述业务集群地址写入待发布队列中,基于所述待发布队列将所述目标微服务应用推送至业务集群,以使得所述业务集群对所述目标微服务应用进行部署安装与业务上线运行;接收所述业务集群发送的发布结果,所述发布结果包括发布成功和发布失败;将发布成功的业务集群地址迁移至预设成功队列,并将发布失败的业务集群地址写入预设失败队列;基于所述预设失败队列中的业务集群地址重新发布所述目标微服务应用。
本发明第二方面提供了一种微服务模块注册与测试装置,包括:获取模块,当接收到微服务注册请求时,用于按照所述微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据所述业务主模块对应的标识编码获取业务主模块的入口页面信息,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制;添加模块,用于基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至所述入口页面信息中,得到已更新的入口页面信息;注册模块,用于在所述已更新的入口页面信息中对所述每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据所述配置后的入口页面信息将所述业务主模块和每个微服务模块映射存储至模块注册数据表中,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用;测试模块,当接收到微服务测试请求时,用于按照所述微服务测试请求从所述模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对所述待测试业务主模块和所述至少一个待测试微服务模块进行安装测试,得到目标微服务应用。
可选的,在本发明第二方面的第一种实现方式中,所述获取模块具体用于:当接收到微服务注册请求时,解析所述微服务注册请求,得到解析结果,并判断所述解析结果是否为空值;当所述解析结果不为空值时,从所述解析结果中读取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并对所述业务主模块对应的标识编码和所述至少一个微服务模块对应的标识编码进行信息校验,得到校验结果,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制;当所述校验结果为校验通过时,按照所述业务主模块对应的标识编码查询第一预设数据表,得到业务主模块的入口页面路径信息,并按照所述入口页面路径信息读取业务主模块的入口页面信息。
可选的,在本发明第二方面的第二种实现方式中,所述添加模块具体用于:根据每个微服务模块对应的标识编码查询第二预设数据表,得到每个微服务模块对应的索引序号;获取预设别名前缀,对所述预设别名前缀分别和每个微服务模块对应的索引序号进行组合,得到每个微服务模块对应的别名标识;对每个微服务模块设置文档对象模型节点,并将每个微服务模块对应的别名标识设置为每个微服务模块的文档对象模型节点对应的节点标识符,得到每个微服务模块对应的文档对象模型信息,并将每个微服务模块对应的文档对象模型信息添加至所述入口页面信息中,得到已更新的入口页面信息。
可选的,在本发明第二方面的第三种实现方式中,所述注册模块具体用于:在所述入口页面信息中按照每个微服务模块对应的别名标识初始化对应的子视图文件实例,基于预设导入函数引用每个微服务模块的预设入口文件,并将每个微服务模块的预设入口文件挂载至每个微服务模块对应的子视图文件实例中;获取每个微服务模块的路由实例,并将每个微服务模块的路由实例绑定至每个微服务模块对应的子视图文件实例中,每个微服务模块的路由实例对应多个页面节点,每个页面节点之间存在路由关系;对所述业务主模块和所述至少一个微服务模块设置消息订阅机制,得到配置后的入口页面信息,所述消息订阅机制用于监测每个微服务模块对应的子视图文件实例中的路由地址更新状态,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用;获取业务主模块对应的版本标识和每个微服务模块对应的版本标识,根据所述配置后的入口页面信息将所述业务主模块对应的标识编码、所述业务主模块对应的版本标识、每个微服务模块对应的标识编码和每个微服务模块对应的版本标识映射存储至模块注册数据表中。
可选的,在本发明第二方面的第四种实现方式中,所述测试模块具体用于:当接收到微服务测试请求时,对所述微服务测试请求进行参数解析,得到所述待测试业务主模块对应的版本标识,并根据所述待测试业务主模块对应的版本标识从所述模块注册数据表中查询每个微服务模块对应的版本标识;按照所述待测试业务主模块对应的版本标识和每个待测试微服务模块对应的版本标识分别确定各模块对应的代码仓库地址,并根据各模块对应的代码仓库地址获取待测试业务主模块对应的仓库代码文件和每个待测试微服务模块对应的仓库代码文件;按照每个待测试微服务模块对应的别名标识对每个待测试微服务模块生成对应的代码根目录,将每个待测试微服务模块对应的仓库代码文件迁移至每个待测试微服务模块对应的代码根目录下,并将每个待测试微服务模块对应的代码根目录复制到所述待测试业务主模块的预设微服务模块目录中,得到更新后的待测试业务主模块;通过预设模块打包器将所述更新后的待测试业务主模块进行打包处理,得到打包后的项目文件,并将所述打包后的项目文件发送至测试终端,以使得所述测试终端根据预设测试环境配置文件对所述打包后的项目文件依次进行安装部署与业务逻辑组合测试,得到目标微服务应用。
可选的,在本发明第二方面的第五种实现方式中,所述微服务模块注册与测试装置还包括:查询模块,当接收到微服务发布请求时,用于根据所述微服务发布请求从预设数据表中查询业务集群地址;发布模块,用于按照所述业务集群地址将所述目标微服务应用推送至业务集群,以使得所述业务集群对所述目标微服务应用进行部署安装与业务上线运行。
可选的,在本发明第二方面的第六种实现方式中,所述发布模块具体用于:将所述业务集群地址写入待发布队列中,基于所述待发布队列将所述目标微服务应用推送至业务集群,以使得所述业务集群对所述目标微服务应用进行部署安装与业务上线运行;接收所述业务集群发送的发布结果,所述发布结果包括发布成功和发布失败;将发布成功的业务集群地址迁移至预设成功队列,并将发布失败的业务集群地址写入预设失败队列;基于所述预设失败队列中的业务集群地址重新发布所述目标微服务应用。
本发明第三方面提供了一种微服务模块注册与测试设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述微服务模块注册与测试设备执行上述的微服务模块注册与测试方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的微服务模块注册与测试方法。
本发明实施例中,通过别名标识在业务主模块的入口页面信息(基于视图文件框架开发的单页面应用)中对每个微服务模块进行模块注册与路由配置,基于微服务模块化减少了重复代码,提高了运行效率和微服务页面跳转的准确性,并对组合的微服务模块测试,提高了微服务发布准确性与页面切换性能。
附图说明
图1为本发明实施例中微服务模块注册与测试方法的一个实施例示意图;
图2为本发明实施例中微服务模块注册与测试方法的另一个实施例示意图;
图3为本发明实施例中微服务模块注册与测试装置的一个实施例示意图;
图4为本发明实施例中微服务模块注册与测试装置的另一个实施例示意图;
图5为本发明实施例中微服务模块注册与测试设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种微服务模块注册与测试方法、装置、设备及存储介质,用于通过别名标识在业务主模块的入口页面信息中对每个微服务模块进行模块注册与路由配置,提高微服务页面跳转的准确性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中微服务模块注册与测试方法的一个实施例包括:
101、当接收到微服务注册请求时,按照微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据业务主模块对应的标识编码获取业务主模块的入口页面信息,业务主模块用于指示对至少一个微服务模块进行访问控制。
其中,业务主模块对应的标识编码和至少一个微服务模块对应的标识编码均具有唯一性,例如,业务主模块对应的标识编码为0,至少一个微服务模块对应的标识编码包括1、2和3,也可以采用其他唯一性编码进行标识,具体此处不做限定。可以理解的是,业务主模块和每个微服务模块为预先按照业务需求,并基于视图文件vue单页面应用开发的业务模块,每个模块均包括对应的文件目录和相关程序文件,业务主模块包括入口页面,用于与至少一个微服务模块进行灵活组合,也就是业务主模块组合任意数量以及任意组合的微服务模块。例如,入口页面为index.html,服务器在index.html中采用多个文档对象模型DOM挂载至少一个微服务模块。
可以理解的是,本发明的执行主体可以为微服务模块注册与测试装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
102、基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至入口页面信息中,得到已更新的入口页面信息。
具体的,服务器按照每个微服务模块对应的标识编码设置对每个微服务模块对应的别名标识,并对每个微服务模块构建对应的文档对象模型节点,每个微服务模块对应的文档对象模型节点的节点标识为每个微服务模块对应的别名标识,服务器将每个微服务模块对应的文档对象模型节点添加至入口页面信息中,得到已更新的入口页面信息。例如,服务器在入口页面信息index.html中添加至少一个文档对象模型节点,如下所示:
<div id="main"></div>
<div>
<div id="module_1"></div>
<div id="module_2"></div>
</div>
其中,module_1和module_2为微服务模块A和微服务模块B分别对应的别名标识,也是每个微服务模块对应的文档对象模型节点的节点标识。
103、在已更新的入口页面信息中对每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据配置后的入口页面信息将业务主模块和每个微服务模块映射存储至模块注册数据表中,配置后的入口页面信息用于指示基于视图文件框架将业务主模块和至少一个微服务模块关联组合的单页面应用。
其中,单页面应用是指只有一个主页面的应用(业务主模块中的入口页面信息),终端只需加载一次脚本js以及层叠样式表css等相关资源,并且在页面跳转过程中,避免了白屏现象。业务主模块中包括源代码目录、公共组件目录、vue-router路由配置目录、静态资源目录以及工具类方法目录,还包括各微服务模块代码目录,例如,src/modules,还可以包括其他目录和预设文件,具体此处不做限定。每个微服务模块包括至少一个预先封装好的视图文件vue组件,以应用于单页面应用中。需要说明的是,服务器在创建业务主模块和微服务模块之前,服务器还下载并安装节点node和视图文件vue。
104、当接收到微服务测试请求时,按照微服务测试请求从模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对待测试业务主模块和至少一个待测试微服务模块进行安装测试,得到目标微服务应用。
需要说明的是,每个微服务模块可以单独发布版本,不需要强依赖业务主模块的版本,每个微服务模块与业务主模块还可以自由组合与部署。为了保证用户所操作的页面为一项微服务,避免页面显示错乱的情形,服务器还需要为各微服务模块分配不同的一级路由,当各微服务模块检测到当前路由并不是所属模块时则进行隐藏,否则进行显示。具体的,服务器从模块注册数据表中将待测试业务主模块和每个待测试微服务模块整合处理和打包后,发送至测试终端,以使得测试终端对打包后的待测试业务主模块和每个待测试微服务模块进行安装测试,得到测试结果,当测试结果为测试通过时,服务器确定目标微服务应用。进一步地,将目标微服务应用存储于区块链数据库中,具体此处不做限定。
本发明实施例中,通过别名标识在业务主模块的入口页面信息(基于视图文件框架开发的单页面应用)中对每个微服务模块进行模块注册与路由配置,基于微服务模块化减少了重复代码,提高了运行效率和微服务页面跳转的准确性,并对组合的微服务模块测试,提高了微服务发布准确性与页面切换性能。
请参阅图2,本发明实施例中微服务模块注册与测试方法的另一个实施例包括:
201、当接收到微服务注册请求时,按照微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据业务主模块对应的标识编码获取业务主模块的入口页面信息,业务主模块用于指示对至少一个微服务模块进行访问控制。
其中,业务主模块的标识编码和每个微服务模块的标识编码可以采用通用唯一识别码进行标识,也可以采用其他字符串(例如预设字符与时间戳组合)进行标识,具体此处不做限定。
可选的,当服务器接收到微服务注册请求时,服务器解析微服务注册请求,得到解析结果,并判断解析结果是否为空值;当解析结果不为空值时,服务器从解析结果中读取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并对业务主模块对应的标识编码和至少一个微服务模块对应的标识编码进行信息校验,得到校验结果,业务主模块用于指示对至少一个微服务模块进行访问控制,进一步地服务器还可以对标识编码进行版本校验,得到校验结果,若校验结果为校验失败,则服务器向终端发送包含校验失败的提示信息;当校验结果为校验通过时,服务器按照业务主模块对应的标识编码查询第一预设数据表,得到业务主模块的入口页面路径信息,并按照入口页面路径信息读取业务主模块的入口页面信息。
需要说明的是,第一预设数据表用于指示不同业务场景下,不同版本的业务主模块的入口页面路径信息与业务主模块的标识编码的映射关系。
202、基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至入口页面信息中,得到已更新的入口页面信息。
其中,每个微服务模块对应的别名标识具有唯一性。服务器在入口页面信息中增加用于挂载至少一个视图文件实例的文档对象模型节点。
可选的,首先,服务器根据每个微服务模块对应的标识编码查询第二预设数据表,得到每个微服务模块对应的索引序号,其中,第二预设数据表用于指示每个微服务模块对应的标识编码与每个微服务模块对应的索引序号的映射信息,索引序号可以为1、2、……、n,也可以为01、02、……、09、10、11、……、n,其中n为正整数,具体此处不做限定。其次,服务器获取预设别名前缀,并对预设别名前缀分别和每个微服务模块对应的索引序号进行组合,得到每个微服务模块对应的别名标识。其中,不同版本的同一微服务模块对应的索引序号相同。预设别名前缀可以按照实际业务需求进行设置并更新。例如,预设别名前缀为module,索引序号为1,则微服务模块A对应的别名标识可以为module1,也可以为module_1,具体此处不做限定。进一步地,服务器将每个微服务模块对应的标识编码和每个微服务模块对应的别名标识关联更新至预设别名信息表中,以便于提高别名设置效率。然后,服务器对每个微服务模块设置文档对象模型节点,并将每个微服务模块对应的别名标识设置为每个微服务模块的文档对象模型节点对应的节点标识符,得到每个微服务模块对应的文档对象模型信息,并将每个微服务模块对应的文档对象模型信息添加至入口页面信息中,得到已更新的入口页面信息。
203、在已更新的入口页面信息中对每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据配置后的入口页面信息将业务主模块和每个微服务模块映射存储至模块注册数据表中,配置后的入口页面信息用于指示基于视图文件框架将业务主模块和至少一个微服务模块关联组合的单页面应用。
也就是,服务器将每个微服务模块与业务主模块进行关联映射配置。可选的,首先,服务器在入口页面信息中按照每个微服务模块对应的别名标识初始化对应的子视图文件实例,基于预设导入函数引用每个微服务模块的预设入口文件,并将每个微服务模块的预设入口文件挂载至每个微服务模块对应的子视图文件实例中。具体的,服务器声明每个微服务模块渲染的超文本标记语言内容,然后服务器根据每个微服务模块对应的别名标识获取每个微服务模块对应的文档对象模型对象,并根据文档对象模型对象定义对应的子视图文件实例,在子视图文件实例中挂载每个文档对象模型对象对应的微服务模块的预设入口文件(预先创建和封装后的微服务模块的入口文件)。每个文档对象模型对象与每个微服务模块相对应,可以理解的是,入口页面信息不仅包括一个根视图文件实例,还包括至少一个子视图文件实例;每个子视图文件实例维护对应的路由和页面,业务主模块将至少一个微服务模块组合成一个微服务应用,其中,每个微服务模块也可以单独运行。
然后,服务器获取每个微服务模块的路由实例,并将每个微服务模块的路由实例绑定至每个微服务模块对应的子视图文件实例中,每个微服务模块的路由实例对应多个页面节点,每个页面节点之间存在路由关系。其中,预设路由函数为路由管理vue-router,服务器采用vue-router预先创建每个微服务模块对应的路由实例,并对每个微服务模块对应的路由实例按照微服务模块对应的标识编码进行映射存储。服务器对每个微服务模块进行路由映射,以使得业务主模块可以通过每个微服务模块对应的统一资源定位符url访问每个微服务模块的多个页面节点。
其次,服务器对业务主模块和至少一个微服务模块设置消息订阅机制,得到配置后的入口页面信息,消息订阅机制用于监测每个微服务模块对应的子视图文件实例中的路由地址更新状态,配置后的入口页面信息用于指示基于视图文件框架将业务主模块和至少一个微服务模块关联组合的单页面应用。进一步地,服务器调用预设函数router.start()将路由启动并挂载到相应应用app的元素上,并调用在命令行npm runbuild查看该单页面应用是否创建成功;若成功,则服务器确定单页面应用创建完成。需要说明的是,单页面应用跳转,就是切换相关组件,仅刷新局部资源,而不是刷新整个页面。但是vue-router是挂载到多个视图实例中的,当任意一个微服务模块的vue实例改变了url,其他相关的微服务模块并不能立即改变路由,因此,为了使页面访问能够正常,服务器采用各模块之间的通信机制(比如消息订阅机制),服务器将业务主模块作为消息中转环节,发布任意一个微服务模块的vue实例更新路由地址的消息,提高了页面跳转的准确性和单页面应用的页面切换性能。
最后,服务器获取业务主模块对应的版本标识和每个微服务模块对应的版本标识,根据配置后的入口页面信息将业务主模块对应的标识编码、业务主模块对应的版本标识、每个微服务模块对应的标识编码和每个微服务模块对应的版本标识映射存储至模块注册数据表中。
204、当接收到微服务测试请求时,按照微服务测试请求从模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对待测试业务主模块和至少一个待测试微服务模块进行安装测试,得到目标微服务应用。
其中,目标微服务应用为经过测试并验证通过的应用。可选的,当服务器接收到微服务测试请求时,服务器对微服务测试请求进行参数解析,得到待测试业务主模块对应的版本标识,并根据待测试业务主模块对应的版本标识从模块注册数据表中查询每个微服务模块对应的版本标识;服务器按照待测试业务主模块对应的版本标识和每个待测试微服务模块对应的版本标识分别确定各模块对应的代码仓库地址,并根据各模块对应的代码仓库地址获取待测试业务主模块对应的仓库代码文件和每个待测试微服务模块对应的仓库代码文件;服务器按照每个待测试微服务模块对应的别名标识对每个待测试微服务模块生成对应的代码根目录,服务器将每个待测试微服务模块对应的仓库代码文件迁移至每个待测试微服务模块对应的代码根目录下,并将每个待测试微服务模块对应的代码根目录复制到待测试业务主模块的预设微服务模块目录中,得到更新后的待测试业务主模块;服务器通过预设模块打包器将更新后的待测试业务主模块进行打包处理,得到打包后的项目文件,并将打包后的项目文件发送至测试终端,以使得测试终端根据预设测试环境配置文件对打包后的项目文件依次进行安装部署与业务逻辑组合测试,得到目标微服务应用。
205、当接收到微服务发布请求时,根据微服务发布请求从预设数据表中查询业务集群地址。
也就是,当服务器接收到微服务发布请求时,服务器解析微服务发布请求,得到业务标识,并按照业务标识从预设数据表中读取业务集群地址。
206、按照业务集群地址将目标微服务应用推送至业务集群,以使得业务集群对目标微服务应用进行部署安装与业务上线运行。
具体的,服务器将业务集群地址写入待发布队列中,基于待发布队列将目标微服务应用推送至业务集群,以使得业务集群对目标微服务应用进行部署安装与业务上线运行;服务器接收业务集群发送的发布结果,发布结果包括发布成功和发布失败;服务器将发布成功的业务集群地址迁移至预设成功队列,并将发布失败的业务集群地址写入预设失败队列;服务器基于预设失败队列中的业务集群地址重新发布目标微服务应用。
进一步地,当预设失败队列中数据为空值,并且预设成功队列中的业务集群地址数量为预设数量时,服务器确定目标微服务应用发布成功。
本发明实施例中,通过别名标识在业务主模块的入口页面信息(基于视图文件框架开发的单页面应用)中对每个微服务模块进行模块注册与路由配置,基于微服务模块化减少了重复代码,提高了运行效率和微服务页面跳转的准确性,并对组合的微服务模块测试,提高了微服务发布准确性与页面切换性能。
上面对本发明实施例中微服务模块注册与测试方法进行了描述,下面对本发明实施例中微服务模块注册与测试装置进行描述,请参阅图3,本发明实施例中微服务模块注册与测试装置的一个实施例包括:
获取模块301,当接收到微服务注册请求时,用于按照微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据业务主模块对应的标识编码获取业务主模块的入口页面信息,业务主模块用于指示对至少一个微服务模块进行访问控制;
添加模块302,用于基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至入口页面信息中,得到已更新的入口页面信息;
注册模块303,用于在已更新的入口页面信息中对每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据配置后的入口页面信息将业务主模块和每个微服务模块映射存储至模块注册数据表中,配置后的入口页面信息用于指示基于视图文件框架将业务主模块和至少一个微服务模块关联组合的单页面应用;
测试模块304,当接收到微服务测试请求时,用于按照微服务测试请求从模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对待测试业务主模块和至少一个待测试微服务模块进行安装测试,得到目标微服务应用。
进一步地,将目标微服务应用存储于区块链数据库中,具体此处不做限定。
本发明实施例中,通过别名标识在业务主模块的入口页面信息(基于视图文件框架开发的单页面应用)中对每个微服务模块进行模块注册与路由配置,基于微服务模块化减少了重复代码,提高了运行效率和微服务页面跳转的准确性,并对组合的微服务模块测试,提高了微服务发布准确性与页面切换性能。
请参阅图4,本发明实施例中微服务模块注册与测试装置的另一个实施例包括:
获取模块301,当接收到微服务注册请求时,用于按照微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据业务主模块对应的标识编码获取业务主模块的入口页面信息,业务主模块用于指示对至少一个微服务模块进行访问控制;
添加模块302,用于基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至入口页面信息中,得到已更新的入口页面信息;
注册模块303,用于在已更新的入口页面信息中对每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据配置后的入口页面信息将业务主模块和每个微服务模块映射存储至模块注册数据表中,配置后的入口页面信息用于指示基于视图文件框架将业务主模块和至少一个微服务模块关联组合的单页面应用;
测试模块304,当接收到微服务测试请求时,用于按照微服务测试请求从模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对待测试业务主模块和至少一个待测试微服务模块进行安装测试,得到目标微服务应用。
可选的,获取模块301还可以具体用于:
当接收到微服务注册请求时,解析微服务注册请求,得到解析结果,并判断解析结果是否为空值;当解析结果不为空值时,从解析结果中读取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并对业务主模块对应的标识编码和至少一个微服务模块对应的标识编码进行信息校验,得到校验结果,业务主模块用于指示对至少一个微服务模块进行访问控制;当校验结果为校验通过时,按照业务主模块对应的标识编码查询第一预设数据表,得到业务主模块的入口页面路径信息,并按照入口页面路径信息读取业务主模块的入口页面信息。
可选的,添加模块302还具体用于:
根据每个微服务模块对应的标识编码查询第二预设数据表,得到每个微服务模块对应的索引序号;获取预设别名前缀,对预设别名前缀分别和每个微服务模块对应的索引序号进行组合,得到每个微服务模块对应的别名标识;对每个微服务模块设置文档对象模型节点,并将每个微服务模块对应的别名标识设置为每个微服务模块的文档对象模型节点对应的节点标识符,得到每个微服务模块对应的文档对象模型信息,并将每个微服务模块对应的文档对象模型信息添加至入口页面信息中,得到已更新的入口页面信息。
可选的,注册模块303还具体用于:
在入口页面信息中按照每个微服务模块对应的别名标识初始化对应的子视图文件实例,基于预设导入函数引用每个微服务模块的预设入口文件,并将每个微服务模块的预设入口文件挂载至每个微服务模块对应的子视图文件实例中;获取每个微服务模块的路由实例,并将每个微服务模块的路由实例绑定至每个微服务模块对应的子视图文件实例中,每个微服务模块的路由实例对应多个页面节点,每个页面节点之间存在路由关系;对业务主模块和至少一个微服务模块设置消息订阅机制,得到配置后的入口页面信息,消息订阅机制用于监测每个微服务模块对应的子视图文件实例中的路由地址更新状态,配置后的入口页面信息用于指示基于视图文件框架将业务主模块和至少一个微服务模块关联组合的单页面应用;获取业务主模块对应的版本标识和每个微服务模块对应的版本标识,根据配置后的入口页面信息将业务主模块对应的标识编码、业务主模块对应的版本标识、每个微服务模块对应的标识编码和每个微服务模块对应的版本标识映射存储至模块注册数据表中。
可选的,测试模块304还可以具体用于:
当接收到微服务测试请求时,对微服务测试请求进行参数解析,得到待测试业务主模块对应的版本标识,并根据待测试业务主模块对应的版本标识从模块注册数据表中查询每个微服务模块对应的版本标识;按照待测试业务主模块对应的版本标识和每个待测试微服务模块对应的版本标识分别确定各模块对应的代码仓库地址,并根据各模块对应的代码仓库地址获取待测试业务主模块对应的仓库代码文件和每个待测试微服务模块对应的仓库代码文件;按照每个待测试微服务模块对应的别名标识对每个待测试微服务模块生成对应的代码根目录,将每个待测试微服务模块对应的仓库代码文件迁移至每个待测试微服务模块对应的代码根目录下,并将每个待测试微服务模块对应的代码根目录复制到待测试业务主模块的预设微服务模块目录中,得到更新后的待测试业务主模块;通过预设模块打包器将更新后的待测试业务主模块进行打包处理,得到打包后的项目文件,并将打包后的项目文件发送至测试终端,以使得测试终端根据预设测试环境配置文件对打包后的项目文件依次进行安装部署与业务逻辑组合测试,得到目标微服务应用。
可选的,微服务模块注册与测试装置还包括:
查询模块305,当接收到微服务发布请求时,用于根据微服务发布请求从预设数据表中查询业务集群地址;发布模块306,用于按照业务集群地址将目标微服务应用推送至业务集群,以使得业务集群对目标微服务应用进行部署安装与业务上线运行。
可选的,发布模块306还可以具体用于:
将业务集群地址写入待发布队列中,基于待发布队列将目标微服务应用推送至业务集群,以使得业务集群对目标微服务应用进行部署安装与业务上线运行;接收业务集群发送的发布结果,发布结果包括发布成功和发布失败;将发布成功的业务集群地址迁移至预设成功队列,并将发布失败的业务集群地址写入预设失败队列;基于预设失败队列中的业务集群地址重新发布目标微服务应用。
本发明实施例中,通过别名标识在业务主模块的入口页面信息(基于视图文件框架开发的单页面应用)中对每个微服务模块进行模块注册与路由配置,基于微服务模块化减少了重复代码,提高了运行效率和微服务页面跳转的准确性,并对组合的微服务模块测试,提高了微服务发布准确性与页面切换性能。
上面图3和图4从模块化的角度对本发明实施例中的微服务模块注册与测试装置进行详细描述,下面从硬件处理的角度对本发明实施例中微服务模块注册与测试设备进行详细描述。
图5是本发明实施例提供的一种微服务模块注册与测试设备的结构示意图,该微服务模块注册与测试设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对微服务模块注册与测试设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在微服务模块注册与测试设备500上执行存储介质530中的一系列指令操作。
微服务模块注册与测试设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的微服务模块注册与测试设备结构并不构成对微服务模块注册与测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述微服务模块注册与测试方法的步骤。
本发明还提供一种微服务模块注册与测试设备,所述微服务模块注册与测试设备包括存储器和处理器,存储器中存储有指令,所述指令被处理器执行时,使得处理器执行上述每个实施例中的所述微服务模块注册与测试方法的步骤。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明每个个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等每个种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述每个实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明每个实施例技术方案的精神和范围。
Claims (10)
1.一种微服务模块注册与测试方法,其特征在于,所述微服务模块注册与测试方法包括:
当接收到微服务注册请求时,按照所述微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据所述业务主模块对应的标识编码获取业务主模块的入口页面信息,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制;
基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至所述入口页面信息中,得到已更新的入口页面信息;
在所述已更新的入口页面信息中对所述每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据所述配置后的入口页面信息将所述业务主模块和每个微服务模块映射存储至模块注册数据表中,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用;
当接收到微服务测试请求时,按照所述微服务测试请求从所述模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对所述待测试业务主模块和所述至少一个待测试微服务模块进行安装测试,得到目标微服务应用。
2.根据权利要求1所述的微服务模块注册与测试方法,其特征在于,所述当接收到微服务注册请求时,按照所述微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据所述业务主模块对应的标识编码获取业务主模块的入口页面信息,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制,包括:
当接收到微服务注册请求时,解析所述微服务注册请求,得到解析结果,并判断所述解析结果是否为空值;
当所述解析结果不为空值时,从所述解析结果中读取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并对所述业务主模块对应的标识编码和所述至少一个微服务模块对应的标识编码进行信息校验,得到校验结果,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制;
当所述校验结果为校验通过时,按照所述业务主模块对应的标识编码查询第一预设数据表,得到业务主模块的入口页面路径信息,并按照所述入口页面路径信息读取业务主模块的入口页面信息。
3.根据权利要求2所述的微服务模块注册与测试方法,其特征在于,所述基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至所述入口页面信息中,得到已更新的入口页面信息,包括:
根据每个微服务模块对应的标识编码查询第二预设数据表,得到每个微服务模块对应的索引序号;
获取预设别名前缀,对所述预设别名前缀分别和每个微服务模块对应的索引序号进行组合,得到每个微服务模块对应的别名标识;
对每个微服务模块设置文档对象模型节点,并将每个微服务模块对应的别名标识设置为每个微服务模块的文档对象模型节点对应的节点标识符,得到每个微服务模块对应的文档对象模型信息,并将每个微服务模块对应的文档对象模型信息添加至所述入口页面信息中,得到已更新的入口页面信息。
4.根据权利要求1所述的微服务模块注册与测试方法,其特征在于,所述在所述已更新的入口页面信息中对所述每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据所述配置后的入口页面信息将所述业务主模块和每个微服务模块映射存储至模块注册数据表中,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用,包括:
在所述入口页面信息中按照每个微服务模块对应的别名标识初始化对应的子视图文件实例,基于预设导入函数引用每个微服务模块的预设入口文件,并将每个微服务模块的预设入口文件挂载至每个微服务模块对应的子视图文件实例中;
获取每个微服务模块的路由实例,并将每个微服务模块的路由实例绑定至每个微服务模块对应的子视图文件实例中,每个微服务模块的路由实例对应多个页面节点,每个页面节点之间存在路由关系;
对所述业务主模块和所述至少一个微服务模块设置消息订阅机制,得到配置后的入口页面信息,所述消息订阅机制用于监测每个微服务模块对应的子视图文件实例中的路由地址更新状态,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用;
获取业务主模块对应的版本标识和每个微服务模块对应的版本标识,根据所述配置后的入口页面信息将所述业务主模块对应的标识编码、所述业务主模块对应的版本标识、每个微服务模块对应的标识编码和每个微服务模块对应的版本标识映射存储至模块注册数据表中。
5.根据权利要求4所述的微服务模块注册与测试方法,其特征在于,所述当接收到微服务测试请求时,按照所述微服务测试请求从所述模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对所述待测试业务主模块和所述至少一个待测试微服务模块进行安装测试,得到目标微服务应用,包括:
当接收到微服务测试请求时,对所述微服务测试请求进行参数解析,得到所述待测试业务主模块对应的版本标识,并根据所述待测试业务主模块对应的版本标识从所述模块注册数据表中查询每个微服务模块对应的版本标识;
按照所述待测试业务主模块对应的版本标识和每个待测试微服务模块对应的版本标识分别确定各模块对应的代码仓库地址,并根据各模块对应的代码仓库地址获取待测试业务主模块对应的仓库代码文件和每个待测试微服务模块对应的仓库代码文件;
按照每个待测试微服务模块对应的别名标识对每个待测试微服务模块生成对应的代码根目录,将每个待测试微服务模块对应的仓库代码文件迁移至每个待测试微服务模块对应的代码根目录下,并将每个待测试微服务模块对应的代码根目录复制到所述待测试业务主模块的预设微服务模块目录中,得到更新后的待测试业务主模块;
通过预设模块打包器将所述更新后的待测试业务主模块进行打包处理,得到打包后的项目文件,并将所述打包后的项目文件发送至测试终端,以使得所述测试终端根据预设测试环境配置文件对所述打包后的项目文件依次进行安装部署与业务逻辑组合测试,得到目标微服务应用。
6.根据权利要求1-5中任意一项所述的微服务模块注册与测试方法,其特征在于,在所述当接收到微服务测试请求时,按照所述微服务测试请求从所述模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对所述待测试业务主模块和所述至少一个待测试微服务模块进行安装测试,得到目标微服务应用之后,所述微服务模块注册与测试方法还包括:
当接收到微服务发布请求时,根据所述微服务发布请求从预设数据表中查询业务集群地址;
按照所述业务集群地址将所述目标微服务应用推送至业务集群,以使得所述业务集群对所述目标微服务应用进行部署安装与业务上线运行。
7.根据权利要求6所述的微服务模块注册与测试方法,其特征在于,所述按照所述业务集群地址将所述目标微服务应用推送至业务集群,以使得所述业务集群对所述目标微服务应用进行部署安装与业务上线运行,包括:
将所述业务集群地址写入待发布队列中,基于所述待发布队列将所述目标微服务应用推送至业务集群,以使得所述业务集群对所述目标微服务应用进行部署安装与业务上线运行;
接收所述业务集群发送的发布结果,所述发布结果包括发布成功和发布失败;
将发布成功的业务集群地址迁移至预设成功队列,并将发布失败的业务集群地址写入预设失败队列;
基于所述预设失败队列中的业务集群地址重新发布所述目标微服务应用。
8.一种微服务模块注册与测试装置,其特征在于,所述微服务模块注册与测试装置包括:
获取模块,当接收到微服务注册请求时,用于按照所述微服务注册请求获取业务主模块对应的标识编码和至少一个微服务模块对应的标识编码,并根据所述业务主模块对应的标识编码获取业务主模块的入口页面信息,所述业务主模块用于指示对所述至少一个微服务模块进行访问控制;
添加模块,用于基于每个微服务模块对应的标识编码设置每个微服务模块对应的别名标识,按照每个微服务模块对应的别名标识将每个微服务模块添加至所述入口页面信息中,得到已更新的入口页面信息;
注册模块,用于在所述已更新的入口页面信息中对所述每个微服务模块进行视图实例化和路由信息配置,得到配置后的入口页面信息,并根据所述配置后的入口页面信息将所述业务主模块和每个微服务模块映射存储至模块注册数据表中,所述配置后的入口页面信息用于指示基于视图文件框架将所述业务主模块和所述至少一个微服务模块关联组合的单页面应用;
测试模块,当接收到微服务测试请求时,用于按照所述微服务测试请求从所述模块注册数据表中获取待测试业务主模块和至少一个待测试微服务模块,并对所述待测试业务主模块和所述至少一个待测试微服务模块进行安装测试,得到目标微服务应用。
9.一种微服务模块注册与测试设备,其特征在于,所述微服务模块注册与测试设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述微服务模块注册与测试设备执行如权利要求1-7中任意一项所述的微服务模块注册与测试方法。
10.一种计算机可读存储介质,其上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任意一项所述的微服务模块注册与测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298682.0A CN112511608A (zh) | 2020-11-19 | 2020-11-19 | 微服务模块注册与测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298682.0A CN112511608A (zh) | 2020-11-19 | 2020-11-19 | 微服务模块注册与测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112511608A true CN112511608A (zh) | 2021-03-16 |
Family
ID=74957059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011298682.0A Pending CN112511608A (zh) | 2020-11-19 | 2020-11-19 | 微服务模块注册与测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511608A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965700A (zh) * | 2021-05-17 | 2021-06-15 | 太平金融科技服务(上海)有限公司 | 基于路由的微服务处理方法、装置、计算机设备和介质 |
CN113127343A (zh) * | 2021-03-30 | 2021-07-16 | 广东电网有限责任公司 | 一种基于微服务架构的电网代码测试分析系统 |
CN113515297A (zh) * | 2021-08-12 | 2021-10-19 | 深圳市晨北科技有限公司 | 一种版本更新方法、装置、电子设备及存储介质 |
CN113805901A (zh) * | 2021-09-11 | 2021-12-17 | 济南浪潮数据技术有限公司 | 基于微服务的应用发布的方法、系统、设备和存储介质 |
CN114201458A (zh) * | 2022-02-16 | 2022-03-18 | 苏州浪潮智能科技有限公司 | 一种信息更新方法、微服务系统及计算机可读存储介质 |
CN114327687A (zh) * | 2022-03-09 | 2022-04-12 | 恒生电子股份有限公司 | 微前端模式下子应用的构建方法、装置、设备及存储介质 |
CN114466058A (zh) * | 2021-07-30 | 2022-05-10 | 北京字跳网络技术有限公司 | 一种实现切换订阅的方法、装置、存储介质及电子设备 |
WO2022193530A1 (zh) * | 2021-03-17 | 2022-09-22 | 深圳壹账通智能科技有限公司 | 一种区块链协议栈架构方法、系统、设备及存储介质 |
CN115202711A (zh) * | 2022-06-29 | 2022-10-18 | 易保网络技术(上海)有限公司 | 数据发布方法及系统 |
-
2020
- 2020-11-19 CN CN202011298682.0A patent/CN112511608A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022193530A1 (zh) * | 2021-03-17 | 2022-09-22 | 深圳壹账通智能科技有限公司 | 一种区块链协议栈架构方法、系统、设备及存储介质 |
CN113127343A (zh) * | 2021-03-30 | 2021-07-16 | 广东电网有限责任公司 | 一种基于微服务架构的电网代码测试分析系统 |
CN113127343B (zh) * | 2021-03-30 | 2023-11-28 | 广东电网有限责任公司 | 一种基于微服务架构的电网代码测试分析系统 |
CN112965700A (zh) * | 2021-05-17 | 2021-06-15 | 太平金融科技服务(上海)有限公司 | 基于路由的微服务处理方法、装置、计算机设备和介质 |
CN114466058A (zh) * | 2021-07-30 | 2022-05-10 | 北京字跳网络技术有限公司 | 一种实现切换订阅的方法、装置、存储介质及电子设备 |
CN113515297A (zh) * | 2021-08-12 | 2021-10-19 | 深圳市晨北科技有限公司 | 一种版本更新方法、装置、电子设备及存储介质 |
CN113515297B (zh) * | 2021-08-12 | 2023-09-26 | 深圳市晨北科技有限公司 | 一种版本更新方法、装置、电子设备及存储介质 |
CN113805901A (zh) * | 2021-09-11 | 2021-12-17 | 济南浪潮数据技术有限公司 | 基于微服务的应用发布的方法、系统、设备和存储介质 |
CN114201458B (zh) * | 2022-02-16 | 2022-04-26 | 苏州浪潮智能科技有限公司 | 一种信息更新方法、微服务系统及计算机可读存储介质 |
CN114201458A (zh) * | 2022-02-16 | 2022-03-18 | 苏州浪潮智能科技有限公司 | 一种信息更新方法、微服务系统及计算机可读存储介质 |
CN114327687B (zh) * | 2022-03-09 | 2022-05-20 | 恒生电子股份有限公司 | 微前端模式下子应用的构建方法、装置、设备及存储介质 |
CN114327687A (zh) * | 2022-03-09 | 2022-04-12 | 恒生电子股份有限公司 | 微前端模式下子应用的构建方法、装置、设备及存储介质 |
CN115202711A (zh) * | 2022-06-29 | 2022-10-18 | 易保网络技术(上海)有限公司 | 数据发布方法及系统 |
CN115202711B (zh) * | 2022-06-29 | 2023-11-14 | 易保网络技术(上海)有限公司 | 数据发布方法及系统 |
WO2024001679A1 (zh) * | 2022-06-29 | 2024-01-04 | 易保网络技术(上海)有限公司 | 数据发布方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112511608A (zh) | 微服务模块注册与测试方法、装置、设备及存储介质 | |
US7231644B2 (en) | Optimized delivery of web application code | |
US7512932B2 (en) | Language and object model for describing MIDlets | |
US7565647B2 (en) | Markup compiler that outputs MIDlets | |
US6209029B1 (en) | Method and apparatus for accessing data sources in a three tier environment | |
CN103176844B (zh) | 一种ie6内核与新型ie内核的切换方法和系统 | |
US7305671B2 (en) | Conversion of an object model to a source file generation model | |
US7131122B1 (en) | Apparatus, system and method for detecting old version of an applet in a client brower's JVM | |
US8423978B2 (en) | Configurable java server pages processing framework | |
US20050198646A1 (en) | Method, data processing device, computer program product and arrangement for processing electronic data | |
JP2019503538A (ja) | インターフェースデータの提示方法及び装置 | |
US20030181196A1 (en) | Extensible framework for code generation from XML tags | |
US20030182626A1 (en) | On-demand creation of MIDlets | |
CN104699612A (zh) | 用于软件测试中的处理方法、设备和系统 | |
CN111680253B (zh) | 页面应用数据包生成方法、装置、计算机设备及存储介质 | |
US20070198705A1 (en) | System and method for integrating resources in a network | |
CN112306549A (zh) | 接口文档配置方法、装置、设备及存储介质 | |
US9292613B2 (en) | Generation of generic universal resource indicators | |
CN100458782C (zh) | 入口小程序在客户端平台上的显示和安装 | |
US8490076B2 (en) | System and method for collecting installed software application data | |
US7475388B2 (en) | Method and apparatus for defining and instrumenting reusable java server page code snippets for website testing and production | |
CN107608672B (zh) | 一种ui模块管理器、ui模块管理方法和系统 | |
US7296255B2 (en) | Systems for incremental application deployment | |
CN113761412A (zh) | 应用页面的显示方法、装置、电子设备、介质及应用系统 | |
US7668929B1 (en) | Abstracting links to electronic resources in a network environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |