CN114490073A - 电子地图运维方法、电子地图数据使用方法及服务系统 - Google Patents

电子地图运维方法、电子地图数据使用方法及服务系统 Download PDF

Info

Publication number
CN114490073A
CN114490073A CN202210111748.3A CN202210111748A CN114490073A CN 114490073 A CN114490073 A CN 114490073A CN 202210111748 A CN202210111748 A CN 202210111748A CN 114490073 A CN114490073 A CN 114490073A
Authority
CN
China
Prior art keywords
data
electronic map
server cluster
mirror image
image data
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
Application number
CN202210111748.3A
Other languages
English (en)
Inventor
胡博诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202210111748.3A priority Critical patent/CN114490073A/zh
Publication of CN114490073A publication Critical patent/CN114490073A/zh
Priority to PCT/CN2023/070400 priority patent/WO2023142924A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种电子地图运维方法、电子地图数据使用方法及服务系统,涉及计算机技术领域。该方法包括:后端开发设备获取待更新的目标电子地图数据,依次生成不同开发阶段的镜像数据,依次将各个镜像数据发布至虚拟云服务器集群;其中,最后一个开发阶段的镜像数据构成新版电子地图数据,各个镜像数据中的其他镜像数据构成旧版电子地图处理过程数据,之后虚拟云服务器集群可以生成每个镜像数据对应的标识信息,用以区分不同的镜像数据。本公开中,将新版电子地图数据发布至虚拟云服务器集群的同时,可保留旧版电子地图处理过程数据,并通过唯一标识信息区分各个镜像数据,实现了对历史电子地图数据的维护管理,为版本回滚提供了基础。

Description

电子地图运维方法、电子地图数据使用方法及服务系统
技术领域
本公开涉及计算机技术领域,特别是涉及一种电子地图运维方法、电子地图数据使用方法、及电子地图服务系统。
背景技术
随着智慧生活的需求多样化,电子地图的使用越来越广泛。目前常用的电子地图制作流程为:通过制图软件生成原始电子地图,并上传至地图制作方,进而地图制作方可以基于原始电子地图进行开发,并发布至服务器,发布的新版电子地图将直接替换服务器中的旧版电子地图。当需要根据建筑物的实际规划对电子地图进行区域删减、区域合并等操作时,可以登录到地图制作方的开发平台上进行操作。
发明内容
第一方面,本公开提供一种电子地图运维方法,应用于电子地图服务系统,所述电子地图服务系统包括后端开发设备和虚拟云服务器集群,所述后端开发设备与所述虚拟云服务器集群通信连接,所述方法包括:
所述后端开发设备获取待更新的目标电子地图数据;
所述后端开发设备依次生成所述目标电子地图数据对应的不同开发阶段的镜像数据;
所述后端开发设备依次将各个所述镜像数据发布至所述虚拟云服务器集群,其中,各个所述镜像数据中的最后一个开发阶段的镜像数据构成新版电子地图数据,各个所述镜像数据中除所述最后一个开发阶段的镜像数据之外的其他所述镜像数据构成旧版电子地图处理过程数据;
所述虚拟云服务器集群生成每个所述镜像数据对应的标识信息,其中,所述标识信息用于区分不同的所述镜像数据。
可选地,所述依次生成所述目标电子地图数据对应的不同开发阶段的镜像数据,包括:
依次生成所述目标电子地图数据对应的不同开发阶段的分支数据;
每生成一个所述分支数据之后,将所述分支数据打包为过程文件;
将所述过程文件构建为镜像数据;
其中,所述不同开发阶段的分支数据包括开发分支数据、测试分支数据和预发布分支数据,相应地,所述不同开发阶段的镜像数据包括开发环境电子地图数据镜像、测试环境电子地图数据镜像和生产环境电子地图数据镜像。
可选地,所述依次将各个所述镜像数据发布至虚拟云服务器集群,包括:
每构建出一个所述镜像数据之后,将所述镜像数据发布至虚拟云服务器集群。
可选地,所述不同开发阶段的分支数据均存储在所述后端开发设备的项目代码仓库中,所述不同开发阶段的镜像数据中包括所述项目代码仓库的存储地址,以及所述镜像数据对应的分支名称;
所述生成每个所述镜像数据对应的标识信息,包括:
根据当前时间戳,以及上次生成所述标识信息的历史时间戳,确定本次生成所述标识信息的本次时间戳;
对所述本次时间戳进行编码,获得第一数值;
对于每个所述镜像数据,从所述镜像数据中读取所述项目代码仓库的存储地址,以及所述镜像数据对应的分支名称;
根据所述项目代码仓库的存储地址和所述镜像数据对应的分支名称,生成第二数值;
对所述第一数值和所述第二数值进行组合或运算,获得所述镜像数据对应的标识信息。
可选地,所述根据当前时间戳,以及上次生成所述标识信息的历史时间戳,确定本次生成所述标识信息的本次时间戳,包括:
判断当前的第一时间戳是否小于上次生成所述标识信息的历史时间戳;
若所述第一时间戳大于或等于所述历史时间戳,则将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳。
可选地,所述根据当前时间戳,以及上次生成所述标识信息的历史时间戳,确定本次生成所述标识信息的本次时间戳之前,还包括:
在上次生成所述标识信息的操作所对应的历史序列号的基础上进行累加,得到本次生成所述标识信息的操作所对应的本次序列号;
所述若所述第一时间戳大于或等于所述历史时间戳,则将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳,包括:
若所述第一时间戳等于所述历史时间戳,则判断所述本次序列号是否等于预设最大值;
若所述本次序列号等于所述预设最大值,则阻塞预设时长以释放临时资源,并将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳;
若所述本次序列号小于所述预设最大值,则将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳。
可选地,所述若所述第一时间戳大于或等于所述历史时间戳,则将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳,包括:
若所述第一时间戳大于所述历史时间戳,则将所述本次序列号置为0,并将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳。
可选地,所述判断当前的第一时间戳是否小于上次生成所述标识信息的历史时间戳之后,还包括:
若所述第一时间戳小于所述历史时间戳,则生成无效标识信息。
可选地,所述根据所述项目代码仓库的存储地址和所述镜像数据对应的分支名称,生成第二数值,包括:
对所述项目代码仓库的存储地址进行哈希编码,获得第一哈希值;
对所述镜像数据对应的分支名称进行哈希编码,获得第二哈希值,得到包括所述第一哈希值和所述第二哈希值的第二数值;
所述对所述第一数值和所述第二数值进行组合或运算,获得所述镜像数据对应的标识信息,包括:
对所述第一数值、所述第一哈希值和所述第二哈希值进行组合或运算,获得所述镜像数据对应的标识信息。
可选地,所述生成每个所述镜像数据对应的标识信息之后,还包括:
对每个所述镜像数据配置对应的数据处理接口,其中,所述数据处理接口用于对与所述数据处理接口对应的所述镜像数据进行增加数据、删除数据、修改数据以及查找数据。
第二方面,本公开还提供一种电子地图数据使用方法,应用于如上第一方面所述的电子地图运维方法中的电子地图服务系统,所述电子地图服务系统还包括业务服务器集群,所述虚拟云服务器集群与所述业务服务器集群通信连接,所述方法用于对通过如上第一方面所述的电子地图运维方法获得的所述镜像数据进行使用,所述方法包括:
所述业务服务器集群接收用户终端发送的电子地图下载请求;
所述业务服务器集群响应于所述电子地图下载请求,向所述虚拟云服务器集群发送对所述新版电子地图数据的获取请求;
所述虚拟云服务器集群响应于所述获取请求,将所述新版电子地图数据发送至所述业务服务器集群;
所述业务服务器集群将所述新版电子地图数据发送至所述用户终端。
可选地,所述方法还包括:
所述业务服务器集群通过向所述虚拟云服务器集群进行轮询,检测所述虚拟云服务器集群是否有电子地图数据的更新;
所述虚拟云服务器集群在更新得到新的新版电子地图数据时,将所述新的新版电子地图数据发送至所述业务服务器集群;
所述业务服务器集群在接收到所述新的新版电子地图数据时,向用户终端发送提示信息,其中,所述提示信息用于提示终端用户下载所述新的新版电子地图数据,以更新至最新的电子地图。
可选地,所述电子地图服务系统还包括反向代理服务器集群,所述业务服务器集群通过所述反向代理服务器集群与所述用户终端通信连接。
可选地,所述业务服务器集群接收用户终端发送的电子地图下载请求,包括:所述反向代理服务器集群接收用户终端发送的电子地图下载请求;所述反向代理服务器集群根据预设的调度机制,将所述电子地图下载请求调度至所述业务服务器集群中的目标业务服务器;所述目标业务服务器接收所述电子地图下载请求;
所述业务服务器集群响应于所述电子地图下载请求,向所述虚拟云服务器集群发送对所述新版电子地图数据的获取请求,包括:所述目标业务服务器响应于所述电子地图下载请求,向所述虚拟云服务器集群发送对所述新版电子地图数据的获取请求;
所述业务服务器集群将所述新版电子地图数据发送至所述用户终端,包括:所述目标业务服务器将所述新版电子地图数据发送至所述反向代理服务器集群;所述反向代理服务器集群将所述新版电子地图数据发送至所述用户终端。
可选地,所述方法还包括:
所述业务服务器集群向所述虚拟云服务器集群发送大数据服务请求;
所述虚拟云服务器集群响应于所述大数据服务请求,从至少一个所述镜像数据中获取所需的相关数据;
所述虚拟云服务器集群根据所述大数据服务请求,对所述相关数据进行数据处理,得到处理结果;
所述虚拟云服务器集群将所述处理结果发送至所述业务服务器集群。
可选地,所述响应于所述大数据服务请求,从至少一个所述镜像数据中获取所需的相关数据,包括:
响应于所述大数据服务请求,通过所述镜像数据在所述虚拟云服务器集群所属的局域网中的地址和端口,从至少一个所述镜像数据中获取所需的相关数据。
可选地,所述对所述相关数据进行数据处理,包括:
通过数据分析模型,对所述相关数据进行数据分析;
和/或,
根据所述相关数据,生成可视化图表。
第三方面,本公开还提供一种电子地图服务系统,包括后端开发设备和虚拟云服务器集群,所述后端开发设备与所述虚拟云服务器集群通信连接;
所述后端开发设备,配置为获取待更新的目标电子地图数据;依次生成所述目标电子地图数据对应的不同开发阶段的镜像数据;依次将各个所述镜像数据发布至所述虚拟云服务器集群,其中,各个所述镜像数据中的最后一个开发阶段的镜像数据构成新版电子地图数据,各个所述镜像数据中除所述最后一个开发阶段的镜像数据之外的其他所述镜像数据构成旧版电子地图处理过程数据;
所述虚拟云服务器集群,配置为生成每个所述镜像数据对应的标识信息,其中,所述标识信息用于区分不同的所述镜像数据。
可选地,所述电子地图服务系统还包括业务服务器集群,所述虚拟云服务器集群与所述业务服务器集群通信连接;
所述业务服务器集群,配置为向所述虚拟云服务器集群发送计算服务请求;
所述虚拟云服务器集群,还配置为响应于所述计算服务请求,从至少一个所述镜像数据中获取计算所需的相关数据;根据所述计算服务请求,对所述相关数据进行数据分析处理,得到分析结果;将所述分析结果发送至所述业务服务器集群。
可选地,所述电子地图服务系统还包括反向代理服务器集群,所述业务服务器集群包括多个业务服务器,所述反向代理服务器集群与每个所述业务服务器均通信连接;
所述反向代理服务器集群,配置为根据预设的调度机制,将所述用户终端发送的请求调度至所述业务服务器集群中的一个所述业务服务器。
上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图说明
为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开实施例的一种电子地图运维方法的步骤流程图;
图2示出了本公开实施例的一种电子地图服务系统的框图;
图3示出了本公开实施例的另一种电子地图运维方法的步骤流程图;
图4示出了本公开实施例的一种电子地图运维的流程图;
图5示出了本公开实施例的一种生成第一数值的流程图;
图6示出了本公开实施例的另一种生成第一数值的流程图;
图7示出了本公开实施例的一种生成唯一ID的流程图;
图8示出了本公开实施例的一种电子地图数据使用方法的步骤流程图;
图9示出了本公开实施例的另一种电子地图服务系统的框图;
图10示出了本公开实施例的一种更新用户终端中电子地图数据的流程图;
图11示出了本公开实施例的又一种电子地图服务系统的框图;
图12示出了本公开实施例的一种提供大数据服务的流程图。
具体实施例
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等方位词仅用于表示基于附图的相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
参照图1,示出了本公开实施例的一种电子地图运维方法的步骤流程图,该方法应用于电子地图服务系统,参照图2,电子地图服务系统100包括后端开发设备10和虚拟云服务器集群20,其中,后端开发设备10与虚拟云服务器集群20通信连接。
在一些实施例中,后端开发设备10具体可以是电子地图开发人员进行电子地图后端开发所使用的终端等设备,本公开实施例对此不作具体限定。可以理解的是,在本公开实施例中,后端开发设备10可以包括至少一台设备。
在一些实施例中,虚拟云服务器集群20为可以提供云服务的服务器集群,提供了一个虚拟化环境,其中,虚拟云服务器集群20可基于多个实体服务器提供云服务。
该方法包括以下步骤:
步骤101:后端开发设备获取待更新的目标电子地图数据。
在第一次制作电子地图时,可以根据建筑物的实际图纸,通过地图编辑器绘制得到原始电子地图,后续需要在该原始电子地图的基础上进行相关功能的开发,例如标识蓝牙信标等定位装置,因此,将该原始电子地图作为待更新的目标电子地图数据。
在一些实施例中,后端开发设备可以根据建筑物的实际图纸,通过地图编辑器绘制得到原始电子地图,当然,原始电子地图也可以是在其他设备或平台绘制完成后,发送至后端开发设备的,本公开实施例对此不作限定。
在第二次及后续制作电子地图时,需要在旧版电子地图数据的基础上进行优化功能、或地图修改等开发,因此,在这种情况下,将上一次发布的最新版电子地图数据作为待更新的目标电子地图数据。
可选地,目标电子地图数据具体可以包括矢量数据、路网数据,以及一些定位装置(例如蓝牙信标)的位置数据等。
还可选地,目标电子地图数据所指示的区域可以包括至少部分室内区域,和/或至少部分室外区域,本公开实施例对此并不限定。
步骤102:后端开发设备依次生成目标电子地图数据对应的不同开发阶段的镜像数据。
在电子地图的开发过程中,后端开发设备可以对目标电子地图数据进行三个阶段的开发,分别是初步开发阶段、测试阶段及预发布阶段。在初步开发阶段,可对目标电子地图进行例如目标物标识、区域整合等相关功能的开发,开发完成,进入测试阶段;在测试阶段,可以对目标电子地图进行功能测试,测试通过,进入预发布阶段;在预发布阶段,可以对目标电子地图数据进行冗余数据的删除、最后校验等工作。
在每个开发阶段完成后,都可以将本阶段所得的数据构建成镜像数据,从而可得到三个镜像数据。
步骤103:后端开发设备依次将各个镜像数据发布至虚拟云服务器集群,其中,各个镜像数据中的最后一个开发阶段的镜像数据构成新版电子地图数据,各个镜像数据中除最后一个开发阶段的镜像数据之外的其他镜像数据构成旧版电子地图处理过程数据。
后端开发设备每生成一个镜像数据后,可以将该镜像数据发布至虚拟云服务器集群。
其中,预发布阶段对应的镜像数据是基于实际应用的生产环境获得的电子地图数据,因此,各个镜像数据中的最后一个开发阶段的镜像数据,也即预发布阶段得到的镜像数据,构成了新版电子地图数据,进而可提供给用户终端进行使用。
初步开发阶段得到的镜像数据记录了对目标电子地图进行了哪些功能开发,测试阶段得到的镜像数据记录了对目标电子地图进行了什么样的功能测试,因此,各个镜像数据中除最后一个开发阶段的镜像数据之外的其他镜像数据,也即初步开发阶段得到的镜像数据和测试阶段得到的镜像数据,构成了旧版电子地图处理过程数据。
由于初步开发阶段和测试阶段得到的镜像数据可反映对目标电子地图的开发过程及测试过程,因此,将旧版电子地图处理过程数据与新版电子地图数据一起保留在虚拟云服务器集群,从而可以在虚拟云服务器集群进行历史电子地图数据的维护。历史电子地图数据对于电子地图服务的改进十分重要,通过对历史电子地图数据进行统计分析,可优化电子地图服务,提高用户体验。
另外,将旧版电子地图处理过程数据与新版电子地图数据一起保留在虚拟云服务器集群,使得后续可以在新发布的新版电子地图数据出现问题时实现旧版本的回滚,从而避免了新版电子地图数据出现问题时,需要大量时间重新进行电子地图开发,并影响用户使用,因此,本公开实施例可通过对旧版电子地图处理过程数据的维护,降低了开发成本,提高了用户体验。
步骤104:虚拟云服务器集群生成每个镜像数据对应的标识信息,其中,标识信息用于区分不同的镜像数据。
在本公开实施例中,针对每个开发阶段的镜像数据,都可以生成对应的标识信息,从而通过具有唯一性的标识信息区分各个镜像数据,实现了电子地图数据新旧版本的区分,还实现了不同开发阶段所得数据的区分。
在本公开实施例对每个开发阶段的镜像数据都通过不同的标识信息进行区分,从而在新版电子地图后续出现问题时,能够方便地找出是哪个开发阶段出现了问题,并针对不同开发阶段的镜像数据进行修复。
本公开实施例可采用集群式服务器架构,相较于单体服务器,集群式服务器的故障恢复能力强,可以将出现宕机故障的服务器相关服务及时切换至其他服务器中。在本公开实施例中,各版本的历史电子地图数据可以通过集群中的不同服务器进行分布式存储,并且通过在集群范围内具有唯一性的标识信息进行镜像数据标识,如此,当某个服务器出现宕机故障,需要将数据及相关服务迁移到其他服务器时,在集群范围内具有唯一性的标识信息可保证在迁移后的服务器中,被迁移镜像数据和该服务器中原有的镜像数据能够得到区分。
在本公开实施例中,后端开发设备首先获取待更新的目标电子地图数据,然后依次生成目标电子地图数据对应的不同开发阶段的镜像数据,并依次将各个镜像数据发布至虚拟云服务器集群,其中,各个镜像数据中的最后一个开发阶段的镜像数据构成新版电子地图数据,各个镜像数据中的其他镜像数据构成旧版电子地图处理过程数据,之后虚拟云服务器集群可以生成每个镜像数据对应的标识信息,用以区分不同的镜像数据。在本公开实施例中,在将新版电子地图数据发布至虚拟云服务器集群的同时,可以保留旧版电子地图处理过程数据,并通过具有唯一性的标识信息区分各个镜像数据,实现了对历史电子地图数据的维护和管理,并为版本回滚提供了基础。
参照图3,示出了本公开实施例的另一种电子地图运维方法的步骤流程图,在对该方法进行说明之前,首先对一些相关内容进行介绍。
在一些可选实施例中,虚拟云服务器集群可以是K8S集群,K8S集群是一个开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能,可用于管理云平台中多个主机上的容器化的应用,K8S集群可以让应用的容器化部署变得简单且高效。
将应用整合到容器中并且运行起来的这个过程称为容器化,在容器化部署中,可以首先通过Docker实现应用的容器化。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到Linux、Windows等操作系统的计算机上,也可以发布到K8S集群等虚拟化环境。
结合图4所示的电子地图运维的具体流程,该方法包括以下步骤:
步骤201:后端开发设备获取待更新的目标电子地图数据。
本步骤的实现方式可参照上述实施例的步骤101。
步骤202:后端开发设备依次生成目标电子地图数据对应的不同开发阶段的分支数据,其中,不同开发阶段的分支数据包括开发分支数据、测试分支数据和预发布分支数据。
参照图4,经过初步开发阶段所得到的数据为开发分支数据,经过测试阶段所得到的数据为测试分支数据,经过预发布阶段所得到的数据为预发布分支数据,不同开发阶段的分支数据均存储在后端开发设备的项目代码仓库中。在实际应用中,不同开发项目对应的项目代码仓库不同,不同项目代码仓库在后端的存储地址不同。
步骤203:后端开发设备每生成一个分支数据之后,并将分支数据打包为过程文件。
参照图4,后端开发设备生成开发分支数据之后,可以提交至测试分支,并将开发分支数据打包为开发过程文件;后端开发设备测试完毕,生成测试分支数据之后,可以提交至预发布分支,并将测试分支数据打包为测试过程文件;后端开发设备生成预发布分支数据之后,可以将预发布分支数据打包为预发布过程文件。
可选地,参照图4,以maven项目(maven是一种具有项目构建、项目依赖管理、项目信息管理等功能的工具)为例,后端开发设备可以通过mvn cleanpackage命令,将分支数据打包为过程文件。
步骤204:后端开发设备将过程文件构建为镜像数据,其中,不同开发阶段的镜像数据包括开发环境电子地图数据镜像、测试环境电子地图数据镜像和生产环境电子地图数据镜像。
参照图4,后端开发设备可以将开发过程文件构建为开发环境电子地图镜像数据(镜像数据也称镜像),将测试过程文件构建为测试环境电子地图镜像数据,将开发过程文件构建为生产环境电子地图镜像数据。
以通过Docker实现容器化,虚拟云服务器集群为K8S集群为例,镜像数据的创建,可以通过编写及配置Dockerfile脚本,然后执行docker build命令来创建。当执行dockerbuild命令时,docker会寻找到Dockerfile脚本文件,并根据Dockerfile脚本文件里的指令创建docker镜像。
Dockerfile脚本通常包括以下四部分内容:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行的指令。其中,基础镜像可以是docker官方提供的基础镜像,例如nodejs镜像,java镜像,mongodb镜像,nginx镜像等,也可以是第三方提供的基础镜像;维护者即为过程文件的维护者;镜像操作指令包括将过程文件拷贝到容器的某个目录的指令、指定需操作的目录为该目录的指令、创建镜像的指令,以及暴露容器对外端口的指令等。
在本公开实施例中,开发环境电子地图数据镜像、测试环境电子地图数据镜像和生产环境电子地图数据镜像均可以通过上述方式构建得到。通过容器化部署,实现了电子地图运维过程的自动化镜像构建,提高了电子地图应用的部署效率,节约了人力成本,且便于数据管理。
步骤205:后端开发设备每构建出一个镜像数据之后,将镜像数据发布至虚拟云服务器集群。
参照图4,后端开发设备构建出开发环境电子地图数据镜像之后,可以将开发环境电子地图数据镜像发布至虚拟云服务器集群;后端开发设备构建出测试环境电子地图数据镜像之后,可以将测试环境电子地图数据镜像发布至虚拟云服务器集群;后端开发设备构建出生产环境电子地图数据镜像之后,可以将生产环境电子地图数据镜像发布至虚拟云服务器集群。
而后端开发设备每将一个镜像数据发布至虚拟云服务器集群,虚拟云服务器集群便可通过后续的步骤,对该镜像数据生成唯一标识信息,用以区分不同的镜像数据,便于数据管理。
步骤206:虚拟云服务器集群根据当前时间戳,以及上次生成标识信息的历史时间戳,确定本次生成标识信息的本次时间戳。
在本公开实施例中,虚拟云服务器集群可以通过唯一ID(Identity)生成器,对每个镜像数据生成对应的唯一ID作为标识信息。在一些实施例中,唯一ID生成器可以基于时间戳,生成唯一ID。
具体地,在一种可选的实施方式中,步骤206可以包括以下步骤:
S1:判断当前的第一时间戳是否小于上次生成标识信息的历史时间戳。
S2:若第一时间戳大于或等于历史时间戳,则将最新的第二时间戳确定为本次生成标识信息的本次时间戳。
图5示出了一种唯一ID生成器生成第一数值的流程图,参照图5,唯一ID生成器首先可以获取当前时间戳,也即第一时间戳,然后判断当前的第一时间戳是否小于上一次生成唯一ID的历史时间戳,若第一时间戳大于或等于历史时间戳,说明本次生成唯一ID的起始时间等于或晚于上次生成出唯一ID的时间,时序正确,进而可以将最新的第二时间戳确定为本次生成标识信息的本次时间戳。其中,第一时间戳为执行步骤S1时的时间,第二时间戳为执行步骤S2时的时间,第二时间戳晚于第一时间戳。在实际应用中,由于服务器执行步骤的速度很快,因此,第二时间戳与第一时间戳之间时差不足秒级。
进一步地,在实际应用中,唯一ID生成器在生成唯一ID的过程中,会产生一些临时的缓存数据,例如算例等,从而占用一些CPU(Central Processing Unit,中央处理器)资源,例如计算资源、存储资源等,因此,在本公开实施例中,可选地,虚拟云服务器集群还可以通过序列号的累加,对唯一ID生成器连续生成唯一ID的次数进行统计,当序列号累加至一定值时,统一释放临时的缓存数据,从而释放CPU资源,如此,可有效利用虚拟云服务器集群中的空间和资源。
虚拟云服务器集群可以通过固定位数的二进制数表示序列号,从而限定了序列号的最大值,例如,16位序列号的数值范围为0-65535,也即序列号最大可以累加至65535,因此,可以在序列号累加至最大值时,统一释放临时的缓存数据。
具体地,在步骤206之前,还包括以下步骤:
在上次生成标识信息的操作所对应的历史序列号的基础上进行累加,得到本次生成标识信息的操作所对应的本次序列号。
相应地,图6示出了另一种唯一ID生成器生成第一数值的流程图,参照图6,步骤S2具体可以包括:
S21:若第一时间戳等于历史时间戳,则判断本次序列号是否等于预设最大值;
S22:若本次序列号等于预设最大值,则阻塞预设时长以释放临时资源,并将最新的第二时间戳确定为本次生成标识信息的本次时间戳;
S23:若本次序列号小于预设最大值,则将最新的第二时间戳确定为本次生成标识信息的本次时间戳。
其中,当本次需要生成唯一ID时,可以在上次生成的唯一ID对应的序列号的基础上,加上预设值,例如1,从而得到本次生成标识信息的操作所对应的本次序列号。进而在唯一ID生成器确定出第一时间戳不小于历史时间戳时,还需进一步判断第一时间戳是大于还是等于历史时间戳。若第一时间戳等于历史时间戳,说明本次生成过程是在上次生成过程之后紧接着进行的,是与上次连续的生成过程,则唯一ID生成器需继续判断本次序列号是否等于预设最大值,其中,该预设最大值也即序列号位数可表示的最大二进制数(例如上述举例中的65535)。
第一种情况:若本次序列号等于预设最大值,则将本次生成唯一ID的过程阻塞预设时长,也即暂停预设时长,在阻塞过程中,临时数据可被清理,临时资源可得到释放,阻塞达到预设时长后,继续该过程,将最新的第二时间戳确定为本次生成唯一ID的本次时间戳。
第二种情况:若本次序列号小于预设最大值,则直接将最新的第二时间戳确定为本次生成唯一ID的本次时间戳。
其中,在第一种情况下,本次序列号等于预设最大值,但仍未超过预设最大值,因此,本次可顺利完成生成过程,从而生成有效ID。
另外,在第一种情况下,由于生成唯一ID的过程被阻塞,因此,相较于第二种情况中的第二时间戳,第一种情况中的第二时间戳延迟了预设时长。在一些实施例中,预设时长可以为1秒。
此外,步骤S2还可以包括:
S24:若第一时间戳大于历史时间戳,则将本次序列号置为0,并将最新的第二时间戳确定为本次生成标识信息的本次时间戳。
其中,若当前的第一时间戳大于上次生成唯一ID的历史时间戳,说明本次生成过程与上次生成过程间隔了一定的时间,是与上次不连续的生成过程,则唯一ID生成器可以将本次序列号置为0,以使下次生成唯一ID时,序列号从0开始累加,本次序列号置0后,将最新的第二时间戳确定为本次生成唯一ID的本次时间戳。
上述阻塞的步骤可使下次生成唯一ID的起始时间不等于本次上次生成出唯一ID的时间,从而使得下次生成过程与本次生成过程不连续,下次生成过程中执行步骤S1时,将判断为第一时间戳大于历史时间戳,进而通过步骤S24将下次序列号置为0,使得下次序列号不会超过序列号允许的最大值(即预设最大值)。
此外,在步骤S1之后,参照图5和图6,还可以包括以下步骤:
S3:若第一时间戳小于历史时间戳,则生成无效标识信息。
若当前的第一时间戳小于上次生成唯一ID的历史时间戳,说明本次生成唯一ID的起始时间早于上次生成出唯一ID的时间,时序有误,进而可以生成无效ID。
步骤207:虚拟云服务器集群对本次时间戳进行编码,获得第一数值。
参照图5和图6,唯一ID生成器得到本次时间戳后,可以对本次时间戳进行编码,从而获得第一数值。在本公开实施例中,第一数值与本次生成唯一ID的时间戳相关,因此具有唯一性。
步骤208:对于每个镜像数据,虚拟云服务器集群从镜像数据中读取项目代码仓库的存储地址,以及镜像数据对应的分支名称,其中,不同开发阶段的分支数据均存储在后端开发设备的项目代码仓库中,不同开发阶段的镜像数据中包括项目代码仓库的存储地址,以及镜像数据对应的分支名称。
图7示出了一种唯一ID生成器生成唯一ID的流程图,参照图7,对于每个镜像数据,唯一ID生成器可以从镜像数据中读取项目代码仓库的存储地址,以及镜像数据对应的分支名称。其中,不同项目(例如maven项目)的代码仓库不同,代码仓库的存储地址也就不同,而同一项目中不同镜像数据对应的分支名称不同。
步骤209:虚拟云服务器集群根据项目代码仓库的存储地址和镜像数据对应的分支名称,生成第二数值。
唯一ID生成器可以根据项目代码仓库的存储地址和镜像数据对应的分支名称,生成与镜像数据所属项目及对应分支相关的第二数值。
在一些实施例中,参照图7,步骤209具体可以通过下述步骤实现,包括:
对项目代码仓库的存储地址进行哈希编码,获得第一哈希值;
对镜像数据对应的分支名称进行哈希编码,获得第二哈希值,得到包括第一哈希值和第二哈希值的第二数值。
其中,唯一ID生成器可以通过哈希(Hash)算法,分别对项目代码仓库的存储地址以及镜像数据对应的分支名称进行哈希编码,从而获得与项目相关的第一哈希值,以及与镜像对应分支相关的第二哈希值,第二数值即包括第一哈希值和第二哈希值。
步骤210:虚拟云服务器集群对第一数值和第二数值进行组合或运算,获得镜像数据对应的标识信息,其中,标识信息用于区分不同的镜像数据。
在第二数值包括第一哈希值和第二哈希值的情况下,步骤210可以包括:
对第一数值、第一哈希值和第二哈希值进行组合或运算,获得镜像数据对应的标识信息。
其中,组合的方式可以是按照预设的排列顺序,将第一数值、第一哈希值和第二哈希值组合为一个数值,该数值即为镜像数据的唯一ID。运算的方式可以是按照预设的运算方法,例如加法、乘法等,对第一数值、第一哈希值和第二哈希值进行运算而得到一个计算结果,该计算结果即为镜像数据的唯一ID。
在本公开实施例中,第一数值具有唯一性,第二数值与镜像数据的所属项目及对应分支相关,因此,基于第一数值和第二数值所获得的标识信息,不仅能够用于区分不同的镜像数据,还能够反映镜像数据的所属项目及对应分支,如此,当镜像数据在运维过程中出现问题时,可以根据镜像数据的标识信息,快速找到出现问题的项目及分支,提高了运维效率。
当然,在实际应用中,还可选地,唯一ID还可以采用UUID(Universally UniqueIdentifier,通用唯一识别码)生成器、Redis原子性自增、雪花算法等方式生成,本公开实施例对此不作限定。
在实际应用中,在一组开发环境电子地图数据镜像、测试环境电子地图数据镜像和生产环境电子地图数据镜像发布之后,当图纸对应的实际场地有区域删减(例如某建筑规划至园区之外)、区域合并(例如增加区域并入停车场,以扩充车位)等变更时,可以在后端开发设备中首先修改电子地图,将需要删减的区域从电子地图中删除,或者将需要并入的区域在电子地图中进行绘制,从而得到更新后的电子地图,进而经过其他开发之后得到新的开发分支数据。进而再经过测试等环节得到新的测试分支数据和新的预发布分支数据,然后再通过步骤203-210,得到新的一组开发环境电子地图数据镜像、测试环境电子地图数据镜像和生产环境电子地图数据镜像,从而实现电子地图的区域删减及区域合并。
每次实际场地有变化时,便可基于变化后的实际场地获得三个镜像数据,并且每次发布的三个镜像数据均可以保存在虚拟云服务器集群中,并通过在集群范围内具有唯一性的标识信息进行区分。
此外,在一些实施例中,步骤210之后还可以包括以下步骤:
对每个镜像数据配置对应的数据处理接口,其中,数据处理接口用于对与数据处理接口对应的镜像数据进行增加数据、删除数据、修改数据以及查找数据。
其中,镜像数据存储在虚拟云服务器集群的特定设备中,当需要根据镜像数据进行统计、分析等操作时,需要从相应的设备中读取镜像数据中的相关数据,因此,虚拟云服务器集群可以对每个镜像数据配置对应的数据处理接口,并对其他设备开放该数据处理接口,从而其他设备可通过该数据处理接口,进行相关数据的增改删查。
在本公开实施例中,在整个运维过程中,各数据或处理过程都可以实现可视化,以便于开发人员更高效地进行电子地图的开发及维护。
在本公开实施例中,后端开发设备首先获取待更新的目标电子地图数据,然后依次生成目标电子地图数据对应的不同开发阶段的镜像数据,并依次将各个镜像数据发布至虚拟云服务器集群,其中,各个镜像数据中的最后一个开发阶段的镜像数据构成新版电子地图数据,各个镜像数据中的其他镜像数据构成旧版电子地图处理过程数据,之后虚拟云服务器集群可以生成每个镜像数据对应的标识信息,用以区分不同的镜像数据。在本公开实施例中,在将新版电子地图数据发布至虚拟云服务器集群的同时,可以保留旧版电子地图处理过程数据,并通过具有唯一性的标识信息区分各个镜像数据,实现了对历史电子地图数据的维护和管理,并为版本回滚提供了基础。
参照图8,示出了本公开实施例的一种电子地图数据使用方法的步骤流程图,该方法应用于如上所述的电子地图运维方法中的电子地图服务系统100,参照图9,电子地图服务系统100还包括业务服务器集群30,虚拟云服务器集群20与业务服务器集群30通信连接,用户终端200与业务服务器集群30通信连接。
在一些实施例中,业务服务器集群30可以在虚拟云服务器集群20提供的镜像数据(电子地图数据)的基础上,提供进一步的服务,例如地图所指示区域的安防服务、运维服务等。
该方法可用于对通过如上所述的电子地图运维方法获得的镜像数据进行使用,该方法包括以下步骤:
步骤301:业务服务器集群接收用户终端发送的电子地图下载请求。
当用户需要查看电子地图时,用户终端可以通过电子地图客户端,向业务服务器集群发送电子地图下载请求,以请求获取当前最新版的电子地图数据。
步骤302:业务服务器集群响应于电子地图下载请求,向虚拟云服务器集群发送对新版电子地图数据的获取请求。
业务服务器集群接收到该电子地图下载请求,并进行响应,进而向虚拟云服务器集群发送对新版电子地图数据的获取请求。
步骤303:虚拟云服务器集群响应于获取请求,将新版电子地图数据发送至业务服务器集群。
虚拟云服务器集群接收到该电子地图下载请求,并进行响应,进而将新版电子地图数据,也即生产环境电子地图镜像数据,返回给业务服务器集群。
步骤304:业务服务器集群将新版电子地图数据发送至用户终端。
业务服务器集群收到新版电子地图数据后,可以返回给请求电子地图数据的用户终端。在本公开实施例中,地图数据服务可以由虚拟云服务器集群提供,业务服务可以由业务服务器集群提供,业务服务和地图数据服务分别存放在不同的服务器集群中,实现两者的解耦,服务器解耦意味着将服务器的计算、内存等资源进行区分,以便根据每项工作负载的具体需要来分配服务器资源,可提高提供服务的效率。
可选地,参照图10,该方法还可以包括以下步骤:
业务服务器集群通过向虚拟云服务器集群进行轮询,检测虚拟云服务器集群是否有电子地图数据的更新;
虚拟云服务器集群在更新得到新的新版电子地图数据时,将新的新版电子地图数据发送至业务服务器集群;
业务服务器集群在接收到新的新版电子地图数据时,向用户终端发送提示信息,其中,提示信息用于提示终端用户下载新的新版电子地图数据,以更新至最新的电子地图。
在本公开实施例中,业务服务器集群可以通过轮询机制,主动监测虚拟云服务器集群是否有电子地图数据的更新,若有更新,则基于轮询机制,虚拟云服务器集群在更新完毕后,可以马上将更新后的电子地图数据返回给业务服务器集群。
可选地,在业务服务器为Web服务器的情况下,业务服务器集群与虚拟云服务器集群之间可采用WebSocket(网络套接字)连接进行通信,相应地,轮询方式可以采用WebSocket轮询。
在此之前,业务服务器集群与虚拟云服务器集群之间首先需要建立可实现轮询机制的通信连接。以WebSocket连接为例,业务服务器集群首先发起请求,请求升级至WebSocket通信协议,虚拟云服务器集群接收到请求后,可向业务服务器集群返回响应协议升级消息,从而建立起二者之间的WebSocket连接,然后业务服务器集群可以进行轮询。
业务服务器集群进行轮询时,首先可以向虚拟云服务器集群发起询问,以询问虚拟云服务器集群是否有电子地图数据的更新,若无更新,则虚拟云服务器集群不进行应答,若有更新,则虚拟云服务器集群可将最新的电子地图数据返回给业务服务器集群。在业务服务器集群,需要设置询问后等待虚拟云服务器集群应答的时长,以及本次询问结束与下次询问开始之间的时间间隔,若该时长内虚拟云服务器集群未应答,则认为无更新,本次询问结束,然后在经过该时间间隔后再进行下一次询问。
当然,在实际应用中,若用户端主动请求新版电子地图数据的下载(即步骤301),则业务服务器集群可以先暂停轮询,然后通过步骤302-304,即时向虚拟云服务器集群请求最新的电子地图数据,以反馈给用户端。业务服务器集群请求后可以等待一段时间(该时间通常很短,例如几秒),若经过一段时间后仍未从虚拟云服务器集群获得最新的电子地图数据,则说明此时业务服务器集群通过之前轮询获得的电子地图数据已是最新的电子地图数据,进而业务服务器集群可以直接将本地的最新电子地图直接返回给用户端。
相较于只有用户端请求时,业务服务器集群才从虚拟云服务器集群获取最新电子地图数据的方案,本公开实施例通过增加业务服务器集群向虚拟云服务器集群的轮询机制,可使业务服务器集群在第一时间从虚拟云服务器集群获取到最新电子地图数据,从而当用户端发起请求时,业务服务器集群能够迅速对用户端请求作出响应,很快将最新电子地图数据发送至用户端,缩短了用户端获取到最新电子地图数据时间,提高了用户体验。
另外,本公开实施例还可以在业务服务器集群中配置最新电子地图数据的判断重复机制,以应对虚拟云服务器集群可能重复发送电子地图数据的情况。具体地,在实际应用中,虚拟云服务器集群可能由于出错,在没有更新电子地图数据的情况下,错认为存在更新,进而向业务服务器集群发送之前已发送过的电子地图数据。业务服务器集群中可以设置缓存,用于存储每次从虚拟云服务器集群获取的电子地图数据,业务服务器集群每次从虚拟云服务器集群接收到一个电子地图数据,便可将该电子地图数据的唯一性标识信息与缓存中其他电子地图数据的唯一性标识信息进行对比,若缓存中存在相同唯一性标识信息的电子地图数据,则说明业务服务器集群之前已收到过该电子地图数据,进而业务服务器集群可以将本次接收到的电子地图数据删除,之后便无需进行对该电子地图数据的相关操作,从而节约了业务服务器集群的资源。
业务服务器集群在获取到最新电子地图数据后,可以马上通过消息推送机制,将提示用户可更新电子地图。
在本公开实施例中,通过轮询机制,业务服务器集群可以在第一时间获得最新的电子地图数据,从而方便用户终端及时更新电子地图,避免了用户使用旧版电子地图而出现导航错误等问题。另外,通过消息推送机制,业务服务器集群可以提示用户更新电子地图,而不是直接发送到用户终端实现更新,如此,可以避免影响正在使用旧版电子地图的用户。
当然,在实际应用中,也可以是用户终端在每次需要使用电子地图时,首先通过业务服务器集群确定虚拟云服务器集群中是否有电子地图数据的更新,若有,则将当前最新版的电子地图数据返回给用户终端,若无,则通知用户终端,用户终端使用当前本地存储的电子地图数据即可。
在一些实施例中,终端用户可以将电子地图数据下载至终端本地,然后进行离线使用。在这种情况下,业务服务器集群可以通过轮询机制更新本地的电子地图数据,而不会影响离线使用电子地图的用户。
在另一些实施例中,终端用户可以在终端与业务服务器集群保持通信连接的情况下,在线使用业务服务器集群中的电子地图数据,而不需要将电子地图数据下载至终端本地。
在这种情况下,可选地,虚拟云服务器集群可以设置为在没有用户使用或较少用户在线使用的时间,进行电子地图数据的定时发布,从而业务服务器集群可以在该时间对本地的电子地图数据进行更新,以避免大规模影响在线用户的使用。
在这种情况下,还可选地,业务服务器集群可以对所有终端用户进行电子地图数据的灰度更新,业务服务器集群从虚拟云服务器集群获取到最新电子地图数据时,仍存在一些用户正在在线使用旧版电子地图数据,则业务服务器集群可以同时保留最新电子地图数据和旧版电子地图数据,并对之后接入业务服务器集群的用户提供最新电子地图数据,但对此刻在线的用户仍然继续提供旧版电子地图。当使用旧版电子地图数据的用户离线后又再次接入业务服务器集群时,业务服务器集群就对该用户也提供最新电子地图数据,直至使用旧版电子地图的用户全部经过离线,业务服务器集群便可将该旧版电子地图数据删除,从而彻底切换为新版电子地图来提供地图服务。在该方案中,可以保证在线用户的本次电子地图数据使用不受影响,且下次上线能够使用到最新的电子地图数据。
参照图11,电子地图服务系统100还可以包括反向代理服务器集群40,业务服务器集群30通过反向代理服务器集群40与用户终端200通信连接。其中,后端开发设备10、虚拟云服务器集群20、业务服务器集群30和反向代理服务器集群40属于后端,用户终端200属于前端。
相应地,步骤301可以包括以下步骤:反向代理服务器集群接收用户终端发送的电子地图下载请求;反向代理服务器集群根据预设的调度机制,将电子地图下载请求调度至业务服务器集群中的目标业务服务器;目标业务服务器接收电子地图下载请求。
步骤302可以包括以下步骤:目标业务服务器响应于电子地图下载请求,向虚拟云服务器集群发送对新版电子地图数据的获取请求。
步骤304可以包括以下步骤:目标业务服务器将新版电子地图数据发送至反向代理服务器集群;反向代理服务器集群将新版电子地图数据发送至用户终端。
其中,用户终端的电子地图下载请求首先发送到反向代理服务器集群,反向代理服务器集群可基于调度机制,提供反向代理服务,从而将电子地图下载请求调度至业务服务器集群中的目标业务服务器,进而由目标业务服务器处理该用户终端的请求。通过反向代理机制,可以将用户请求调度至承接该请求的业务服务器,而对用户隐藏实际提供服务的业务服务器,用户不需要知道实际提供服务的业务服务器地址,也无须在用户前端进行配置。在一些实施例中,业务服务器可以为Web(网站)服务器,反向代理服务器可用来进行Web加速,即使用反向代理服务器作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
进一步可选地,该方法还可以包括以下步骤:
业务服务器集群向虚拟云服务器集群发送大数据服务请求;
虚拟云服务器集群响应于大数据服务请求,从至少一个镜像数据中获取所需的相关数据;
虚拟云服务器集群根据大数据服务请求,对相关数据进行数据处理,得到处理结果;
虚拟云服务器集群将处理结果发送至业务服务器集群。
在本公开实施例中,虚拟云服务器集群不仅可以提供地图数据服务,还可以提供大数据服务,例如大数据的计算、统计、分析、可视化处理等服务。其中,虚拟云服务器集群可以部署数据分析算法包,用于提供例如回归分析、决策树分析等大数据服务,虚拟云服务器集群还可以部署数据可视化工具集,用于提供例如自动化报表生成、AB测试数据可视化图表制作等大数据服务。
当业务服务器集群有需要时,可以向虚拟云服务器集群发送大数据服务请求,虚拟云服务器集群接收到该请求后进行响应,从至少一个镜像数据中获取进行本次大数据服务所需的相关数据,其中,获取什么样数据与所请求的服务相关。虚拟云服务器集群进而可以所请求的大数据服务,对相关数据进行数据处理,得到处理结果,其中,进行什么样处理与所请求的服务相关。
上述响应于大数据服务请求,从至少一个镜像数据中获取所需的相关数据的步骤,具体可以包括:
响应于大数据服务请求,通过镜像数据在虚拟云服务器集群所属的局域网中的地址和端口,从至少一个镜像数据中获取所需的相关数据。
在实际应用中,数据分析算法包或数据可视化工具集,可以与各个镜像数据存放在虚拟云服务器集群中的不同实体服务器中,因此,参照图12,数据分析算法包或数据可视化工具集(图12以数据分析算法包为例)所在的实体服务器在提供大数据服务之前,需要首先通过相应的局域网地址和端口,与所需镜像数据所在的实体服务器建立连接,进而可以通过该局域网地址和端口抓取该镜像数据中的相关数据。
之后,参照图12,数据分析算法包或数据可视化工具集便可以通过模型或工具,对抓取到的相关数据进行数据处理。
可选地,上述对相关数据进行数据处理的步骤,具体可以包括:
通过数据分析模型,对相关数据进行数据分析;
和/或,
根据相关数据,生成可视化图表。
其中,参照图12,虚拟云服务器集群可以将数据分析结果、可视化图表等大数据服务处理结果返回给业务服务器集群,进而业务服务器集群可以基于数据分析结果或可视化图表,进一步提供其他服务。
在本公开实施例中,将地图数据服务和大数据服务统一在虚拟云服务器集群中进行,实现了计算服务和地图数据在统一局域网下调用,提高了大数据算法的运行效率;将业务服务和地图数据服务存放在不同的服务器集群中进行,实现两者的解耦,使业务服务器能专注于处理电子地图所指示区域(例如园区)的相关业务服务(例如安防服务),而不必为存储和维护地图数据消耗更多的计算、网络调用、存储等资源。
在本公开实施例中,业务服务器集群接收到用户终端发送的电子地图下载请求时进行响应,向虚拟云服务器集群发送对新版电子地图数据的获取请求,虚拟云服务器集群响应于该获取请求,将新版电子地图数据返回给业务服务器集群,业务服务器集群进而将新版电子地图数据返回给用户终端,以向用户终端提供电子地图的相关服务,实现了电子地图数据的获取和使用。
本公开实施例还公开了一种电子地图服务系统,参照图2、图9和图11,包括后端开发设备和虚拟云服务器集群,所述后端开发设备与所述虚拟云服务器集群通信连接;
所述后端开发设备,配置为获取待更新的目标电子地图数据;依次生成所述目标电子地图数据对应的不同开发阶段的镜像数据;依次将各个所述镜像数据发布至所述虚拟云服务器集群,其中,各个所述镜像数据中的最后一个开发阶段的镜像数据构成新版电子地图数据,各个所述镜像数据中除所述最后一个开发阶段的镜像数据之外的其他所述镜像数据构成旧版电子地图处理过程数据;
所述虚拟云服务器集群,配置为生成每个所述镜像数据对应的标识信息,其中,所述标识信息用于区分不同的所述镜像数据。
可选地,参照图9,所述电子地图服务系统还包括业务服务器集群,所述虚拟云服务器集群与所述业务服务器集群通信连接;
所述业务服务器集群,配置为向所述虚拟云服务器集群发送计算服务请求;
所述虚拟云服务器集群,还配置为响应于所述计算服务请求,从至少一个所述镜像数据中获取计算所需的相关数据;根据所述计算服务请求,对所述相关数据进行数据分析处理,得到分析结果;将所述分析结果发送至所述业务服务器集群。
可选地,参照图11,所述电子地图服务系统还包括反向代理服务器集群,所述业务服务器集群包括多个业务服务器,所述反向代理服务器集群与每个所述业务服务器均通信连接;
所述反向代理服务器集群,配置为根据预设的调度机制,将所述用户终端发送的请求调度至所述业务服务器集群中的一个所述业务服务器。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本公开的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。

Claims (20)

1.一种电子地图运维方法,其特征在于,应用于电子地图服务系统,所述电子地图服务系统包括后端开发设备和虚拟云服务器集群,所述后端开发设备与所述虚拟云服务器集群通信连接,所述方法包括:
所述后端开发设备获取待更新的目标电子地图数据;
所述后端开发设备依次生成所述目标电子地图数据对应的不同开发阶段的镜像数据;
所述后端开发设备依次将各个所述镜像数据发布至所述虚拟云服务器集群,其中,各个所述镜像数据中的最后一个开发阶段的镜像数据构成新版电子地图数据,各个所述镜像数据中除所述最后一个开发阶段的镜像数据之外的其他所述镜像数据构成旧版电子地图处理过程数据;
所述虚拟云服务器集群生成每个所述镜像数据对应的标识信息,其中,所述标识信息用于区分不同的所述镜像数据。
2.根据权利要求1所述的方法,其特征在于,所述依次生成所述目标电子地图数据对应的不同开发阶段的镜像数据,包括:
依次生成所述目标电子地图数据对应的不同开发阶段的分支数据;
每生成一个所述分支数据之后,将所述分支数据打包为过程文件;
将所述过程文件构建为镜像数据;
其中,所述不同开发阶段的分支数据包括开发分支数据、测试分支数据和预发布分支数据,相应地,所述不同开发阶段的镜像数据包括开发环境电子地图数据镜像、测试环境电子地图数据镜像和生产环境电子地图数据镜像。
3.根据权利要求2所述的方法,其特征在于,所述依次将各个所述镜像数据发布至虚拟云服务器集群,包括:
每构建出一个所述镜像数据之后,将所述镜像数据发布至虚拟云服务器集群。
4.根据权利要求2所述的方法,其特征在于,所述不同开发阶段的分支数据均存储在所述后端开发设备的项目代码仓库中,所述不同开发阶段的镜像数据中包括所述项目代码仓库的存储地址,以及所述镜像数据对应的分支名称;
所述生成每个所述镜像数据对应的标识信息,包括:
根据当前时间戳,以及上次生成所述标识信息的历史时间戳,确定本次生成所述标识信息的本次时间戳;
对所述本次时间戳进行编码,获得第一数值;
对于每个所述镜像数据,从所述镜像数据中读取所述项目代码仓库的存储地址,以及所述镜像数据对应的分支名称;
根据所述项目代码仓库的存储地址和所述镜像数据对应的分支名称,生成第二数值;
对所述第一数值和所述第二数值进行组合或运算,获得所述镜像数据对应的标识信息。
5.根据权利要求4所述的方法,其特征在于,所述根据当前时间戳,以及上次生成所述标识信息的历史时间戳,确定本次生成所述标识信息的本次时间戳,包括:
判断当前的第一时间戳是否小于上次生成所述标识信息的历史时间戳;
若所述第一时间戳大于或等于所述历史时间戳,则将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳。
6.根据权利要求5所述的方法,其特征在于,所述根据当前时间戳,以及上次生成所述标识信息的历史时间戳,确定本次生成所述标识信息的本次时间戳之前,还包括:
在上次生成所述标识信息的操作所对应的历史序列号的基础上进行累加,得到本次生成所述标识信息的操作所对应的本次序列号;
所述若所述第一时间戳大于或等于所述历史时间戳,则将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳,包括:
若所述第一时间戳等于所述历史时间戳,则判断所述本次序列号是否等于预设最大值;
若所述本次序列号等于所述预设最大值,则阻塞预设时长以释放临时资源,并将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳;
若所述本次序列号小于所述预设最大值,则将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳。
7.根据权利要求6所述的方法,其特征在于,所述若所述第一时间戳大于或等于所述历史时间戳,则将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳,包括:
若所述第一时间戳大于所述历史时间戳,则将所述本次序列号置为0,并将最新的第二时间戳确定为本次生成所述标识信息的本次时间戳。
8.根据权利要求5所述的方法,其特征在于,所述判断当前的第一时间戳是否小于上次生成所述标识信息的历史时间戳之后,还包括:
若所述第一时间戳小于所述历史时间戳,则生成无效标识信息。
9.根据权利要求4所述的方法,其特征在于,所述根据所述项目代码仓库的存储地址和所述镜像数据对应的分支名称,生成第二数值,包括:
对所述项目代码仓库的存储地址进行哈希编码,获得第一哈希值;
对所述镜像数据对应的分支名称进行哈希编码,获得第二哈希值,得到包括所述第一哈希值和所述第二哈希值的第二数值;
所述对所述第一数值和所述第二数值进行组合或运算,获得所述镜像数据对应的标识信息,包括:
对所述第一数值、所述第一哈希值和所述第二哈希值进行组合或运算,获得所述镜像数据对应的标识信息。
10.根据权利要求1所述的方法,其特征在于,所述生成每个所述镜像数据对应的标识信息之后,还包括:
对每个所述镜像数据配置对应的数据处理接口,其中,所述数据处理接口用于对与所述数据处理接口对应的所述镜像数据进行增加数据、删除数据、修改数据以及查找数据。
11.一种电子地图数据使用方法,其特征在于,应用于如权利要求1-10任一项所述的电子地图运维方法中的电子地图服务系统,所述电子地图服务系统还包括业务服务器集群,所述虚拟云服务器集群与所述业务服务器集群通信连接,所述方法用于对通过如权利要求1-10任一项所述的电子地图运维方法获得的所述镜像数据进行使用,所述方法包括:
所述业务服务器集群接收用户终端发送的电子地图下载请求;
所述业务服务器集群响应于所述电子地图下载请求,向所述虚拟云服务器集群发送对所述新版电子地图数据的获取请求;
所述虚拟云服务器集群响应于所述获取请求,将所述新版电子地图数据发送至所述业务服务器集群;
所述业务服务器集群将所述新版电子地图数据发送至所述用户终端。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述业务服务器集群通过向所述虚拟云服务器集群进行轮询,检测所述虚拟云服务器集群是否有电子地图数据的更新;
所述虚拟云服务器集群在更新得到新的新版电子地图数据时,将所述新的新版电子地图数据发送至所述业务服务器集群;
所述业务服务器集群在接收到所述新的新版电子地图数据时,向用户终端发送提示信息,其中,所述提示信息用于提示终端用户下载所述新的新版电子地图数据,以更新至最新的电子地图。
13.根据权利要求11所述的方法,其特征在于,所述电子地图服务系统还包括反向代理服务器集群,所述业务服务器集群通过所述反向代理服务器集群与所述用户终端通信连接。
14.根据权利要求13所述的方法,其特征在于,所述业务服务器集群接收用户终端发送的电子地图下载请求,包括:所述反向代理服务器集群接收用户终端发送的电子地图下载请求;所述反向代理服务器集群根据预设的调度机制,将所述电子地图下载请求调度至所述业务服务器集群中的目标业务服务器;所述目标业务服务器接收所述电子地图下载请求;
所述业务服务器集群响应于所述电子地图下载请求,向所述虚拟云服务器集群发送对所述新版电子地图数据的获取请求,包括:所述目标业务服务器响应于所述电子地图下载请求,向所述虚拟云服务器集群发送对所述新版电子地图数据的获取请求;
所述业务服务器集群将所述新版电子地图数据发送至所述用户终端,包括:所述目标业务服务器将所述新版电子地图数据发送至所述反向代理服务器集群;所述反向代理服务器集群将所述新版电子地图数据发送至所述用户终端。
15.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述业务服务器集群向所述虚拟云服务器集群发送大数据服务请求;
所述虚拟云服务器集群响应于所述大数据服务请求,从至少一个所述镜像数据中获取所需的相关数据;
所述虚拟云服务器集群根据所述大数据服务请求,对所述相关数据进行数据处理,得到处理结果;
所述虚拟云服务器集群将所述处理结果发送至所述业务服务器集群。
16.根据权利要求15所述的方法,其特征在于,所述响应于所述大数据服务请求,从至少一个所述镜像数据中获取所需的相关数据,包括:
响应于所述大数据服务请求,通过所述镜像数据在所述虚拟云服务器集群所属的局域网中的地址和端口,从至少一个所述镜像数据中获取所需的相关数据。
17.根据权利要求15所述的方法,其特征在于,所述对所述相关数据进行数据处理,包括:
通过数据分析模型,对所述相关数据进行数据分析;
和/或,
根据所述相关数据,生成可视化图表。
18.一种电子地图服务系统,其特征在于,包括后端开发设备和虚拟云服务器集群,所述后端开发设备与所述虚拟云服务器集群通信连接;
所述后端开发设备,配置为获取待更新的目标电子地图数据;依次生成所述目标电子地图数据对应的不同开发阶段的镜像数据;依次将各个所述镜像数据发布至所述虚拟云服务器集群,其中,各个所述镜像数据中的最后一个开发阶段的镜像数据构成新版电子地图数据,各个所述镜像数据中除所述最后一个开发阶段的镜像数据之外的其他所述镜像数据构成旧版电子地图处理过程数据;
所述虚拟云服务器集群,配置为生成每个所述镜像数据对应的标识信息,其中,所述标识信息用于区分不同的所述镜像数据。
19.根据权利要求18所述的电子地图服务系统,其特征在于,所述电子地图服务系统还包括业务服务器集群,所述虚拟云服务器集群与所述业务服务器集群通信连接;
所述业务服务器集群,配置为向所述虚拟云服务器集群发送计算服务请求;
所述虚拟云服务器集群,还配置为响应于所述计算服务请求,从至少一个所述镜像数据中获取计算所需的相关数据;根据所述计算服务请求,对所述相关数据进行数据分析处理,得到分析结果;将所述分析结果发送至所述业务服务器集群。
20.根据权利要求19所述的电子地图服务系统,其特征在于,所述电子地图服务系统还包括反向代理服务器集群,所述业务服务器集群包括多个业务服务器,所述反向代理服务器集群与每个所述业务服务器均通信连接;
所述反向代理服务器集群,配置为根据预设的调度机制,将所述用户终端发送的请求调度至所述业务服务器集群中的一个所述业务服务器。
CN202210111748.3A 2022-01-29 2022-01-29 电子地图运维方法、电子地图数据使用方法及服务系统 Pending CN114490073A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210111748.3A CN114490073A (zh) 2022-01-29 2022-01-29 电子地图运维方法、电子地图数据使用方法及服务系统
PCT/CN2023/070400 WO2023142924A1 (zh) 2022-01-29 2023-01-04 电子地图运维方法、电子地图数据使用方法及服务系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210111748.3A CN114490073A (zh) 2022-01-29 2022-01-29 电子地图运维方法、电子地图数据使用方法及服务系统

Publications (1)

Publication Number Publication Date
CN114490073A true CN114490073A (zh) 2022-05-13

Family

ID=81478645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210111748.3A Pending CN114490073A (zh) 2022-01-29 2022-01-29 电子地图运维方法、电子地图数据使用方法及服务系统

Country Status (2)

Country Link
CN (1) CN114490073A (zh)
WO (1) WO2023142924A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023142924A1 (zh) * 2022-01-29 2023-08-03 京东方科技集团股份有限公司 电子地图运维方法、电子地图数据使用方法及服务系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049624A (ja) * 2000-08-04 2002-02-15 Matsushita Electric Ind Co Ltd 地図データ提供装置、ナビゲーション装置およびナビゲーションシステム
CN106844537B (zh) * 2016-12-30 2020-11-17 重庆大学 一种时空地图瓦片数据的组织管理方法
CN107066296B (zh) * 2017-03-31 2020-09-25 北京奇艺世纪科技有限公司 一种集群节点中镜像的清理方法及装置
CN111142879B (zh) * 2019-12-05 2023-12-26 无锡融卡科技有限公司 软件集成发布方法及自动运维平台
CN111443923A (zh) * 2020-03-26 2020-07-24 北京房天下嘉居网络技术有限公司 服务发布方法及装置
CN111654533A (zh) * 2020-05-13 2020-09-11 国云科技股份有限公司 一种基于容器环境的应用自动交付系统
CN114490073A (zh) * 2022-01-29 2022-05-13 京东方科技集团股份有限公司 电子地图运维方法、电子地图数据使用方法及服务系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023142924A1 (zh) * 2022-01-29 2023-08-03 京东方科技集团股份有限公司 电子地图运维方法、电子地图数据使用方法及服务系统

Also Published As

Publication number Publication date
WO2023142924A1 (zh) 2023-08-03

Similar Documents

Publication Publication Date Title
CN111866191B (zh) 消息事件的分发方法、分发平台、系统及服务器
US8832130B2 (en) System and method for implementing on demand cloud database
CN103856569A (zh) 一种同步域名系统资源信息的方法及设备
CN104539681A (zh) 分布式gis加速系统和gis服务的处理方法
CN101571809A (zh) 一种插件注册的实现方法及其装置
CN103942281A (zh) 一种对持久化存储的对象进行操作的方法及装置
CN113315754B (zh) 容器出访防火墙智能联动方法及装置、设备、介质
CN112860282B (zh) 集群插件的升级方法、装置和服务器
US20140280799A1 (en) Managing virtual computing services
CN103077034B (zh) 混合虚拟化平台java应用迁移方法与系统
CN111800468A (zh) 一种基于云的多集群管理方法、装置、介质及电子设备
CN111464603B (zh) 一种服务器扩容方法及扩容系统
CN107741874B (zh) 一种gis云虚拟机自动创建方法及系统
CN112256989A (zh) 基于离线包的页面加载方法、装置、终端设备及存储介质
WO2023142924A1 (zh) 电子地图运维方法、电子地图数据使用方法及服务系统
CN116257438A (zh) 接口测试用例的更新方法及相关设备
CN112860251A (zh) 一种网站前端构建的方法与系统
CN112069239B (zh) 基于http请求使用数据库的方法、系统、设备及存储介质
CN113419818A (zh) 基础组件部署方法、装置、服务器及存储介质
CN108737485B (zh) 针对物联网资源的操作的方法及系统
CN111552494B (zh) 一种容器组的管理方法、设备、系统及介质
CN115129574A (zh) 一种代码测试方法和装置
CN112379934B (zh) 一种云计算平台的部署方法及装置、存储介质
CN113542013B (zh) 虚拟化网络功能管理消息分配方法、装置及设备
CN108701035A (zh) 应用属性的管理

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