发明内容
基于此,有必要针对上述技术问题,提供一种能够满足水电工业领域对数字对象的标识需求的水电工业数字对象的标识符处理方法、装置、系统、计算机设备和存储介质。
一种水电工业数字对象的标识符处理方法,所述方法包括:
接收用户终端发送的针对水电工业数字对象的标识符生成请求;
当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系;
当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系;
当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系;
向所述用户终端返回所述元类标识符、类标识符、实例标识符中的至少一种。
在一个实施例中,所述根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,包括:
生成对象类型码;所述对象类型码根据所述水电工业数字对象的对象类型确定;
生成元类流水码;所述元类流水码与所述新增元类顺序号匹配;
通过连接标识符,连接所述领域码、所述对象类型码和所述元类流水码,得到所述元类标识符。
在一个实施例中,所述根据所述新增类顺序号对所述水电工业数字对象分配类标识符,包括:
生成类流水码;所述类流水码与所述新增类顺序号匹配;
通过所述连接标识符,连接所述领域码、所述对象类型码、所述元类流水码和所述类流水码,得到所述类标识符。
在一个实施例中,所述标识符生成请求还包含组织码和实例产生时间,所述根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,包括:
生成实例流水码;所述实例流水码与所述新增实例顺序号匹配;
通过所述连接标识符,连接所述组织码、所述领域码、所述对象类型码、所述元类流水码、所述类流水码、所述实例产生时间和所述实例流水码,得到所述实例标识符。
在一个实施例中,所述确定所述领域码的新增元类顺序号,包括:
获取所述领域码下的多个已分配元类顺序号;
在多个所述已分配元类顺序号中,查找最大已分配元类顺序号;
根据所述最大已分配元类顺序号,生成所述新增元类顺序号;
所述确定所述元类标识符的新增类顺序号,包括:
获取所述元类标识符下的多个已分配类顺序号;
在多个所述已分配类顺序号中,查找最大已分配类顺序号;
根据所述最大已分配类顺序号,生成所述新增类顺序号;
所述确定所述类标识符的新增实例顺序号,包括:
获取所述类标识符下的多个已分配实例顺序号;
在多个所述已分配实例顺序号中,查找最大已分配实例顺序号;
根据所述最大已分配实例顺序号,生成所述新增实例顺序号。
在一个实施例中,在所述确定所述领域码的新增元类顺序号之前,还包括:
检查所述领域码是否有效;
当所述领域码有效,则执行所述确定所述领域码的新增元类顺序号的步骤;当所述领域码无效,则向所述用户终端返回领域码无效信息;
在所述确定所述元类标识符的新增类顺序号之前,还包括:
检查所述元类标识符是否有效;
当所述元类标识符有效,则执行所述确定所述元类标识符的新增类顺序号的步骤;当所述元类标识符无效,则向所述用户终端返回元类标识符无效信息;
在所述确定所述类标识符的新增实例顺序号之前,还包括:
检查所述类标识符是否有效;
当所述类标识符有效,则执行所述确定所述类标识符的新增实例顺序号的步骤;当所述类标识符无效,则向所述用户终端返回类标识符无效信息。
一种水电工业数字对象的标识符处理装置,包括:
请求接收模块,用于接收用户终端发送的针对水电工业数字对象的标识符生成请求;
元类标识符分配模块,用于当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系;
类标识符分配模块,用于当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系;
实例标识符分配模块,用于当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系;
标识符返回模块,用于向所述用户终端返回所述元类标识符、类标识符、实例标识符中的至少一种。
一种标识符处理系统,包括:
用户终端和标识符分配服务器;
所述用户终端,用于发送针对水电工业数字对象的标识符生成请求至所述标识符分配服务器;
所述标识符分配服务器,用于当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系;
所述标识符分配服务器,还用于当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系;
所述标识符分配服务器,还用于当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系;
所述用户终端,还用于接收所述标识符分配服务器返回的所述元类标识符、类标识符、实例标识符中的至少一种。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收用户终端发送的针对水电工业数字对象的标识符生成请求;
当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系;
当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系;
当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系;
向所述用户终端返回所述元类标识符、类标识符、实例标识符中的至少一种。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收用户终端发送的针对水电工业数字对象的标识符生成请求;
当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系;
当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系;
当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系;
向所述用户终端返回所述元类标识符、类标识符、实例标识符中的至少一种。
上述水电工业数字对象的标识符处理方法、装置、系统、计算机设备和存储介质,通过根据标识符生成请求中所包含的领域码、元类标识符或类标识符,确定该领域码下的新增元类顺序号、该元类标识符下的新增类顺序号、或该类标识符下的新增实例顺序号,按照水电工业数字对象所属的领域、元类、类、实例等不同层次对水电工业数字对象分配相应的识别符,实现了对元类、类、实例该三个层次的数字对象的标识符的联动处理,具有较高的扩展性,充分满足水电工业领域对类别丰富、数据量庞大且增长快速的数字对象的标识需求。
而且,上述的水电工业数字对象的标识符处理方法,具有较高的普适性,适用于水电工业中各个场景各种类型的数字对象,为统一数字对象的标识规则提供了技术基础,也为水电工业数字对象的标识符统一分配、统一管理提供了技术基础,从而有效改善水电工业大量的数据资源交换与共享的效率。
进一步地,上述的水电工业数字对象的标识符处理方法,可以适用于无固定长度的编码,因此,可以使得该标识符具有无限容量的特性,适用于水电工业对数据量庞大且增长快速的数字对象的标识需求。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的水电工业数字对象的标识符处理方法,可以应用于如图1所示的应用环境中。其中,用户终端102通过网络与标识符分配服务器104进行通信。
用户终端102,主要用于发送针对水电工业数字对象的标识符生成请求至标识符分配服务器104;标识符分配服务器104,则主要用于响应于标识符生成请求,针对水电工业数字对象分配相应的标识符,并将所分配的标识符返回至用户终端102。
其中,用户终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,标识符分配服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
标识符分配服务器104可以是基于MOF(元对象设施,Meta Object Facility)方式进行标识符的分配处理。MOF可以将数据对象划分为四层,分别是元元模型层、元模型层、模型层、实例层。MOF可以提供一种模型驱动的弹性数据体系架构,从而使得MOF可以适用于水电工业中类别丰富、数据量庞大且增长快速的数字对象,从而解决目前私有标识体系导致的水电工业的数字对象标识的扩展效率较低、无法满足水电工业领域对数字对象的标识需求的问题。
在一个实施例中,如图2所示,提供了一种水电工业数字对象的标识符处理方法,以该方法应用于图1中的用户终端102为例进行说明,包括以下步骤:
步骤202,接收用户终端发送的针对水电工业数字对象的标识符生成请求。
其中,水电工业数字对象可以是水电工业中所涉及的需要利用数字化技术进行标识的对象。该对象可以具体为某个水电工业设备、水电工业设施、水电工业项目、水电工业监控数值、水电工业设备运行状况等。
具体实现中,用户可以针对某个水电工业数字对象,通过用户终端102提交标识符生成请求至标识符分配服务器104。
步骤204,当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系。
其中,领域码可以为与水电工业数字对象所属领域相对应的标识。以下表1是一个实施例的一种领域与领域码的对应关系示例:
领域码 |
领域 |
A |
生产域 |
A1 |
资产 |
A2 |
设备缺陷 |
A3 |
安全风险 |
A4 |
任务工单 |
A5 |
生产作业 |
A6 |
检查分析 |
A7 |
运行 |
B |
项目域 |
B1 |
项目结构 |
表1
其中,新增元类顺序号可以为记录领域码下按序新增的元类的标识。
其中,元类标识符可以用于标识属于MOF元模型层的某个元类。元类标识符通常由领域码、对象类型码和元类流水码组成。例如,“功能位置”属于“资产”该领域下的一个元类,其元类标识符可以为“A1.21.1”。
具体实现中,标识符分配服务器104在接收到用户终端102的标识符生成请求后,可以对标识符生成请求进行解析,当解析出领域码时,则在标识符分配服务器104的数据库中,遍历该领域码下现有的已分配元类顺序号,并从中查找顺序号最大的已分配元类顺序号,并根据该顺序号最大的已分配元类顺序号,确定新增元类顺序号。例如,某个领域码下顺序号最大的已分配元类顺序号为“1”,则新增元类顺序号为“2”。
确定新增元类顺序号之后,根据该新增元类顺序号生成元类标识符,建立起标识符生成请求所针对的水电工业数字对象与所生成的元类标识符之间的对应关系,由此,将新的元类标识符分配给特定的水电工业数字对象。
以主变压器的“功能位置”为例说明上述的元类标识符分配过程。
假设当前用户要针对“功能位置”该水电工业数字对象请求分配元类标识符,“功能位置”该水电工业数字对象属于“资产”领域,通过表1得到其领域码为“A1”,用户通过用户终端102生成包含有领域码“A1”的标识符生成请求至标识符分配服务器104,标识符分配服务器104基于该请求,确定领域码“A1”,查找该领域码“A1”下的所有元类及其所分配的元类顺序号。假设当前领域码“A1”下暂时不存在任何元类,则“主变压器功能位置”属于领域码“A1”下的第一个元类,因此,可以相应地确定新增元类顺序号为“1”。按照预设的元类标识符编码规则,将领域码“A1”、对象类型码“21”和该新增元类顺序号“1”通过连接标识符“.”进行连接,得到“功能位置”的元类标识符“A1.21.1”。
为水电工业数字对象分配元类标识符之后,标识符分配服务器104可以在本地数据库持久化存储水电工业数字对象和新分配的元类标识符之间的对应关系。
步骤206,当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系。
其中,新增类顺序号可以为记录某个元类下按序新增的类的标识。
其中,类标识符可以用于标识属于MOF模型层的某个类。类标识符通常由领域码、对象类型码、元类流水码、类流水码组成。例如,“主变压器”该类属于“功能位置”该元类其中一个类,“主变压器”的类标识符可以为“A1.11.1.35”。
具体实现中,标识符分配服务器104在接收到用户终端102的标识符生成请求后,可以对标识符生成请求进行解析,当解析出元类标识符时,则在标识符分配服务器104的数据库中,遍历该元类标识符下现有的已分配类顺序号,并从中查找顺序号最大的已分配类顺序号,并根据该顺序号最大的已分配类顺序号,确定新增类顺序号。例如,某个元类下顺序号最大的已分配类顺序号为“1”,则新增类顺序号为“2”。
确定新增类顺序号之后,根据该新增类顺序号生成类标识符,建立起标识符生成请求所针对的水电工业数字对象与所生成的类标识符之间的对应关系,由此,将新的类标识符分配给特定的水电工业数字对象。
以主变压器的为例说明上述的类标识符分配过程。
假设当前用户针对“主变压器”该水电工业数字对象请求分配类标识符,“主变压器”类属于“功能位置”元类,用户可以通过用户终端102生成包含有“功能位置”该元类的元类标识符“A1.21.1”的标识符生成请求至标识符分配服务器104,标识符分配服务器104基于该请求,确定元类标识符“A1.21.1”,查找该元类标识符“A1.21.1”下所有的类及其所分配的类顺序号。假设当前已有34个类,可以相应地确定元类标识符“A1.21.1”的新增类顺序号为“35”。按照预设的类标识符编码规则,将领域码“A1”、对象类型码“21”、元类顺序号“1”和新增类顺序号“35”,通过连接标识符“.”进行连接,得到“主变压器”的类标识符“A1.21.1.35”。
为水电工业数字对象分配类标识符之后,标识符分配服务器104可以在本地数据库持久化存储水电工业数字对象和新分配的类标识符之间的对应关系。
步骤208,当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系。
其中,新增实例顺序号可以为记录某个类下按序新增的实例的标识。
其中,实例标识符可以用于标识属于MOF实例层的某个实例。实例标识符通常由组织码、领域码、对象类型码、元类流水码、类流水码、实例产生时间、实例流水码组成。例如,“天生桥电厂#1主变压器”是一个具体的水电企业设备实例,属于“主变压器”该类中的一个实例,“天生桥电厂#1主变压器”的实例标识符可以为“02.A1.01.1.35.19950501.1”。
具体实现中,标识符分配服务器104在接收到用户终端102的标识符生成请求后,可以对标识符生成请求进行解析,当解析出类标识符时,则在标识符分配服务器104的数据库中,遍历该类标识符下现有的已分配实例顺序号,并从中查找顺序号最大的已分配实例顺序号,并根据该顺序号最大的已分配实例顺序号,确定新增实例顺序号。例如,某个类下顺序号最大的已分配实例顺序号为“1”,则新增实例顺序号为“2”。
确定新增实例顺序号之后,根据该新增实例顺序号生成类标识符,建立起标识符生成请求所针对的水电工业数字对象与所生成的实例标识符之间的对应关系,由此,将新的实例标识符分配给特定的水电工业数字对象。
以具体的水电企业设备实例“天生桥电厂#1主变压器”为例说明上述的实例标识符分配过程。
假设当前用户针对“天生桥电厂#1主变压器”该水电工业数字对象请求分配实例标识符,用户可以通过用户终端102生成包含有“主变压器”该类的类标识符“A1.21.1.35”的标识符生成请求至标识符分配服务器104,标识符分配服务器104基于该请求,确定类标识符“A1.21.1.35”,查找该类标识符“A1.21.1.35”下所有的实例及其所分配的实例顺序号。
假设当前还不存在有实例,可以相应确定类标识符“A1.21.1.35”的新增实例顺序号为“1”。按照预设的实例标识符编码规则,将领域码“A1”、对象类型码“21”、元类顺序号“1”、类顺序号“35”和新增实例顺序号“1”,通过连接标识符“.”进行连接,得到“天生桥电厂#1主变压器”的实例类标识符“A1.21.1.35.1”。
实例应用中,实例标识符还包括有组织码和实例产生时间等要素。基于上述的例子,假设“天生桥电厂”的组织码为“02”,该台主变压器投运时间为1995年5月1日,以此作为实例产生时间,其实例产生时间码为“19950501”。将组织码“02”、领域码“A1”、对象类型码“21”、元类顺序号“1”、类顺序号“35”、实例产生时间“19950501”和新增实例顺序号“1”,通过连接标识符“.”进行连接,得到“天生桥电厂#1主变压器”的实例类标识符“02.A1.21.1.35.19950501.1”。
为水电工业数字对象分配实例标识符之后,标识符分配服务器104可以在本地数据库持久化存储水电工业数字对象和新分配的实例标识符之间的对应关系。
实际应用中,标识符分配服务器104可以设置有标识符管理模块,该标识符管理模块可以用于存储新建的标识符与数字对象之间的对应关系,并执行数据库更新操作。
步骤210,向所述用户终端返回所述元类标识符、类标识符、实例标识符中的至少一种。
具体实现中,标识符分配服务器104可以响应于用户终端102的请求,将所分配的元类标识符、类标识符、实例标识符返回至用户终端102供用户使用。
上述的水电工业数字对象的标识符处理方法中,通过根据标识符生成请求中所包含的领域码、元类标识符或类标识符,确定该领域码下的新增元类顺序号、该元类标识符下的新增类顺序号、或该类标识符下的新增实例顺序号,按照水电工业数字对象所属的领域、元类、类、实例等不同层次对水电工业数字对象分配相应的识别符,实现了对元类、类、实例该三个层次的数字对象的标识符的联动处理,具有较高的扩展性,充分满足水电工业领域对类别丰富、数据量庞大且增长快速的数字对象的标识需求。
而且,上述的水电工业数字对象的标识符处理方法,具有较高的普适性,适用于水电工业中各个场景各种类型的数字对象,为统一数字对象的标识规则提供了技术基础,也为水电工业数字对象的标识符统一分配、统一管理提供了技术基础,从而有效改善水电工业大量的数据资源交换与共享的效率。
进一步地,上述的水电工业数字对象的标识符处理方法,可以适用于无固定长度的编码,因此,可以使得该标识符具有无限容量的特性,适用于水电工业对数据量庞大且增长快速的数字对象的标识需求。
在一个实施例中,如图3所示,所述根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,包括:
步骤S2041,生成对象类型码;所述对象类型码根据所述水电工业数字对象的对象类型确定;
步骤S2042,生成元类流水码;所述元类流水码与所述新增元类顺序号匹配;
步骤S2043,通过连接标识符,连接所述领域码、所述对象类型码和所述元类流水码,得到所述元类标识符。
其中,连接标识符可以为预设的用于连接各个码段的标识符。例如,可以采用“.”作为连接标识符,也可以采用“-”作为上述的连接标识符。
具体实现中,假设当前用户要针对“功能位置”该水电工业数字对象请求分配元类标识符,标识符分配服务器104基于该请求,确定领域码“A1”,查找该领域码“A1”下的所有元类及其所分配的元类顺序号。
假设当前领域码“A1”下暂时不存在任何元类,则“主变压器功能位置”属于领域码“A1”下的第一个元类,因此,可以相应地确定新增元类顺序号为“1”。
生成元类流水码,并将该元类流水码赋值为新增元类顺序号“1”。
参考图4的一种元类标识符的编码结构示意图,假设对象类型码预设为“21”,按照预设的元类标识符编码规则,将领域码“A1”、对象类型码“21”和该新增元类顺序号“1”通过连接标识符“.”进行连接,得到“功能位置”的元类标识符“A1.21.1”。
在一个实施例中,如图5所示,所述根据所述新增类顺序号对所述水电工业数字对象分配类标识符,包括:
步骤S2061,生成类流水码;所述类流水码与所述新增类顺序号匹配;
步骤S2062,通过所述连接标识符,连接所述领域码、所述对象类型码、所述元类流水码和所述类流水码,得到所述类标识符。
具体实现中,假设当前用户要针对“主变压器”该水电工业数字对象请求分配类标识符,标识符分配服务器104基于该请求,确定元类标识符“A1.21.1”,查找该元类标识符“A1.21.1”下所有的类及其所分配的类顺序号。
假设当前已有34个类,可以相应地确定元类标识符“A1.21.1”的新增类顺序号为“35”。
生成类流水码,并将该类流水码赋值为新增类顺序号“35”。
参考图6的一种类标识符的编码结构示意图,假设对象类型码预设为“21”,按照预设的类标识符编码规则,将领域码“A1”、对象类型码“21”、元类顺序号“1”和新增类顺序号“35”,通过连接标识符“.”进行连接,得到“主变压器”的类标识符“A1.21.1.35”。
在一个实施例中,如图7所示,所述标识符生成请求还包含组织码和实例产生时间,所述根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,包括:
步骤S2081,生成实例流水码;所述实例流水码与所述新增实例顺序号匹配;
步骤S2082,通过所述连接标识符,连接所述组织码、所述领域码、所述对象类型码、所述元类流水码、所述类流水码、所述实例产生时间和所述实例流水码,得到所述实例标识符。
具体实现中,假设当前用户针对“天生桥电厂#1主变压器”该水电工业数字对象请求分配实例标识符。
生成实例流水码,将实例流水码赋值为新增实例顺序号,假设新增实例顺序号为“1”,实例流水码即为“1”。
参考图8的一种实例标识符的编码结构示意图,假设“天生桥电厂”的组织码为“02”,该台主变压器投运时间为1995年5月1日,以此作为实例产生时间,其实例产生时间码为“19950501”。将组织码“02”、领域码“A1”、对象类型码“21”、元类顺序号“1”、类顺序号“35”、实例产生时间“19950501”和实例流水码“1”,通过连接标识符“.”进行连接,得到“天生桥电厂#1主变压器”的实例类标识符“02.A1.21.1.35.19950501.1”。
在一个实施例中,所述确定所述领域码的新增元类顺序号,包括:
获取所述领域码下的多个已分配元类顺序号;在多个所述已分配元类顺序号中,查找最大已分配元类顺序号;根据所述最大已分配元类顺序号,生成所述新增元类顺序号。
具体实现中,标识符分配服务器104可以设置有顺序号分配模块,该顺序号分配模块可以用于从标识符分配服务器104的存储数据库模块中加载已分配的各个元类的最大顺序号,并根据该最大顺序号生成新增元类顺序号。例如,查找当前领域码的元类最大顺序号记为MCSeqNo,进一步执行MCSeqNo=MCSeqNo+1,进一步更新MCSeqNo至哈希表及数据库,最后返回MCSeqNo。
在一个实施例中,所述确定所述元类标识符的新增类顺序号,包括:
获取所述元类标识符下的多个已分配类顺序号;在多个所述已分配类顺序号中,查找最大已分配类顺序号;根据所述最大已分配类顺序号,生成所述新增类顺序号。
确定新增类顺序号的流程与上述确定新增元类顺序号的流程类似,在此不再赘述。
在一个实施例中,所述确定所述类标识符的新增实例顺序号,包括:
获取所述类标识符下的多个已分配实例顺序号;在多个所述已分配实例顺序号中,查找最大已分配实例顺序号;根据所述最大已分配实例顺序号,生成所述新增实例顺序号。
确定新增实例顺序号的流程与上述确定新增元类顺序号、确定新增类顺序号的流程类似,在此不再赘述。
在一个实施例中,在所述确定所述领域码的新增元类顺序号之前,还包括:
检查所述领域码是否有效;
当所述领域码有效,则执行所述确定所述领域码的新增元类顺序号的步骤;当所述领域码无效,则向所述用户终端返回领域码无效信息;
具体实现中,当标识符生成请求中包含有领域码,标识符分配服务器104可以首先进行有效性检查,检查本地当前是否存在有标识符生成请求中所包含的领域码,如存在,则可以判定该领域码有效,并执行确定所述领域码的新增元类顺序号的步骤;如不存在,则可以判定该领域码无效,向用户终端102返回相应的无效提示。
在一个实施例中,在所述确定所述元类标识符的新增类顺序号之前,还包括:
检查所述元类标识符是否有效;当所述元类标识符有效,则执行所述确定所述元类标识符的新增类顺序号的步骤;当所述元类标识符无效,则向所述用户终端返回元类标识符无效信息。
元类标识符的检查流程与上述的领域码检查流程类似,在此不再赘述。
在一个实施例中,在所述确定所述类标识符的新增实例顺序号之前,还包括:
检查所述类标识符是否有效;
当所述类标识符有效,则执行所述确定所述类标识符的新增实例顺序号的步骤;当所述类标识符无效,则向所述用户终端返回类标识符无效信息。
类标识符的检查流程与上述的领域码检查流程类似,在此不再赘述。
实际应用中,还可以针对组织码、实例标识符等数据进行有效性检查。
实际应用中,标识符分配服务器104可以设置有标识符管理模块,该标识符管理模块可以用于从存储数据库模块加载所有的领域码、组织码、元类标识符、类标识符、实例标识符等,并相应地构建领域码哈希集合、组织码哈希集合、元类标识符哈希集合、类标识符哈希集合等,在需要进行有效性查询时,可以在相应的哈希集合中进行查找。
通过上述的水电工业数字对象的标识符处理方法,通过在分配元类标识符、类标识符、实例标识符之前首先对领域码、元类标识符、类标识符的有效性,在有效的情形下才触发执行标识符分配,避免对水电工业数字对象分配错误的标识符,提升了标识符分配的准确性。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种水电工业数字对象的标识符处理装置900,具体包括:
请求接收模块902,用于接收用户终端发送的针对水电工业数字对象的标识符生成请求;
元类标识符分配模块904,用于当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系;
类标识符分配模块906,用于当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系;
实例标识符分配模块908,用于当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系;
标识符返回模块910,用于向所述用户终端返回所述元类标识符、类标识符、实例标识符中的至少一种。
在一个实施例中,所述元类标识符分配模块904,具体用于:
生成对象类型码;所述对象类型码根据所述水电工业数字对象的对象类型确定;
生成元类流水码;所述元类流水码与所述新增元类顺序号匹配;
通过连接标识符,连接所述领域码、所述对象类型码和所述元类流水码,得到所述元类标识符。
在一个实施例中,所述类标识符分配模块906,具体用于:
生成类流水码;所述类流水码与所述新增类顺序号匹配;
通过所述连接标识符,连接所述领域码、所述对象类型码、所述元类流水码和所述类流水码,得到所述类标识符。
在一个实施例中,所述标识符生成请求还包含组织码和实例产生时间,所述实例标识符分配模块908,具体用于:
生成实例流水码;所述实例流水码与所述新增实例顺序号匹配;
通过所述连接标识符,连接所述组织码、所述领域码、所述对象类型码、所述元类流水码、所述类流水码、所述实例产生时间和所述实例流水码,得到所述实例标识符。
在一个实施例中,所述元类标识符分配模块904,具体用于:
获取所述领域码下的多个已分配元类顺序号;
在多个所述已分配元类顺序号中,查找最大已分配元类顺序号;
根据所述最大已分配元类顺序号,生成所述新增元类顺序号;
在一个实施例中,所述类标识符分配模块906,具体用于:
获取所述元类标识符下的多个已分配类顺序号;
在多个所述已分配类顺序号中,查找最大已分配类顺序号;
根据所述最大已分配类顺序号,生成所述新增类顺序号;
在一个实施例中,所述实例标识符分配模块908,具体用于:
获取所述类标识符下的多个已分配实例顺序号;
在多个所述已分配实例顺序号中,查找最大已分配实例顺序号;
根据所述最大已分配实例顺序号,生成所述新增实例顺序号。
在一个实施例中,所述装置还包括标识符管理模块;
所述标识符管理模块,具体用于:
检查所述领域码是否有效;当所述领域码有效,则执行所述确定所述领域码的新增元类顺序号的步骤;当所述领域码无效,则向所述用户终端返回领域码无效信息;
检查所述元类标识符是否有效;当所述元类标识符有效,则执行所述确定所述元类标识符的新增类顺序号的步骤;当所述元类标识符无效,则向所述用户终端返回元类标识符无效信息;
检查所述类标识符是否有效;当所述类标识符有效,则执行所述确定所述类标识符的新增实例顺序号的步骤;当所述类标识符无效,则向所述用户终端返回类标识符无效信息。
在一个实施例中,提供了一种标识符处理系统,包括:
用户终端和标识符分配服务器;
所述用户终端,用于发送针对水电工业数字对象的标识符生成请求至所述标识符分配服务器;
所述标识符分配服务器,用于当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系;
所述标识符分配服务器,还用于当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系;
所述标识符分配服务器,还用于当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系;
所述用户终端,还用于接收所述标识符分配服务器返回的所述元类标识符、类标识符、实例标识符中的至少一种。
关于水电工业数字对象的标识符处理装置、标识符处理系统的具体限定可以参见上文中对于水电工业数字对象的标识符处理方法的限定,在此不再赘述。上述水电工业数字对象的标识符处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储水电工业数字对象的元类标识符、类标识符、实例标识符等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种水电工业数字对象的标识符处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收用户终端发送的针对水电工业数字对象的标识符生成请求;
当所述标识符生成请求中包含有领域码,确定所述领域码的新增元类顺序号,根据所述新增元类顺序号对所述水电工业数字对象分配元类标识符,并存储所述水电工业数字对象和所述元类标识符的对应关系;
当所述标识符生成请求中包含有所述元类标识符,确定所述元类标识符的新增类顺序号,根据所述新增类顺序号对所述水电工业数字对象分配类标识符,并存储所述水电工业数字对象和所述类标识符的对应关系;
当所述标识符生成请求中包含有所述类标识符,确定所述类标识符的新增实例顺序号,根据所述新增实例顺序号对所述水电工业数字对象分配实例标识符,并存储所述水电工业数字对象和所述实例标识符的对应关系;
向所述用户终端返回所述元类标识符、类标识符、实例标识符中的至少一种。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:生成对象类型码;所述对象类型码根据所述水电工业数字对象的对象类型确定;生成元类流水码;所述元类流水码与所述新增元类顺序号匹配;通过连接标识符,连接所述领域码、所述对象类型码和所述元类流水码,得到所述元类标识符。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:生成类流水码;所述类流水码与所述新增类顺序号匹配;通过所述连接标识符,连接所述领域码、所述对象类型码、所述元类流水码和所述类流水码,得到所述类标识符。
在一个实施例中,所述标识符生成请求还包含组织码和实例产生时间,处理器执行计算机程序时还实现以下步骤:
生成实例流水码;所述实例流水码与所述新增实例顺序号匹配;通过所述连接标识符,连接所述组织码、所述领域码、所述对象类型码、所述元类流水码、所述类流水码、所述实例产生时间和所述实例流水码,得到所述实例标识符。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述领域码下的多个已分配元类顺序号;在多个所述已分配元类顺序号中,查找最大已分配元类顺序号;根据所述最大已分配元类顺序号,生成所述新增元类顺序号;
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述元类标识符下的多个已分配类顺序号;在多个所述已分配类顺序号中,查找最大已分配类顺序号;根据所述最大已分配类顺序号,生成所述新增类顺序号;
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述类标识符下的多个已分配实例顺序号;在多个所述已分配实例顺序号中,查找最大已分配实例顺序号;根据所述最大已分配实例顺序号,生成所述新增实例顺序号。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检查所述领域码是否有效;当所述领域码有效,则执行所述确定所述领域码的新增元类顺序号的步骤;当所述领域码无效,则向所述用户终端返回领域码无效信息;
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检查所述元类标识符是否有效;当所述元类标识符有效,则执行所述确定所述元类标识符的新增类顺序号的步骤;当所述元类标识符无效,则向所述用户终端返回元类标识符无效信息;
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检查所述类标识符是否有效;当所述类标识符有效,则执行所述确定所述类标识符的新增实例顺序号的步骤;当所述类标识符无效,则向所述用户终端返回类标识符无效信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。