发明内容
针对现有技术存在的问题,本发明提供一种标签创建方法、装置、设备、系统与存储介质。
本发明提供一种标签创建方法,所述方法用于标签服务系统,所述标签服务系统的标签数据结构为森林数据结构,所述方法包括:
确定待创建标签的第一目标节点和所述第一目标节点的父节点;
确定所述第一目标节点的第一标签标识和所述父节点的第二标签标识;
根据所述第一标签标识和所述第二标签标识创建所述第一目标节点的标签。
根据本发明提供的一种标签创建方法,所述确定待创建标签的第一目标节点和所述第一目标节点的父节点,包括:
接收业务系统发送的第一标签请求消息,所述第一标签请求消息是所述业务系统按照第一设定规则生成的、且用于创建所述第一目标节点的标签的请求消息,所述第一设定规则与所述森林数据结构相对应;
对所述第一标签请求消息进行消息校验,得到校验结果;
若所述校验结果为通过校验,则根据所述第一标签请求消息确定待创建标签的第一目标节点和所述第一目标节点的父节点。
根据本发明提供的一种标签创建方法,所述对所述第一标签请求消息进行消息校验,包括:
通过数据传输对象DTO方式对所述第一标签请求消息进行消息校验。
根据本发明提供的一种标签创建方法,所述第一标签请求消息中包括所述第一目标节点的标签名称、以及所述父节点的标签名称和/或所述第二标签标识。
根据本发明提供的一种标签创建方法,所述确定所述第一目标节点的第一标签标识和所述父节点的第二标签标识,包括:
按照第二设定规则生成所述第一标签标识;
若所述第一目标节点具有所述父节点,则根据所述父节点确定所述第二标签标识;
若所述第一目标节点不具有所述父节点,则确定所述第一目标节点的标签为顶级标签,设置所述第二标签标识为0。
根据本发明提供的一种标签创建方法,所述根据所述第一标签标识和所述第二标签标识创建所述第一目标节点的标签,包括:
根据业务系统的业务层级确定所述森林数据结构的标签层级深度;
若根据所述第二标签标识确定所述第一目标节点的标签是顶级标签,则在所述标签层级深度中的顶级标签层级创建所述第一目标节点的标签;
若根据所述第二标签标识确定所述第一目标节点的标签不是所述顶级标签,则确定所述父节点的标签处于所述标签层级深度中的第一标签层级;
若所述第一标签层级是所述顶级标签层级,则将所述第一目标节点的标签作为所述父节点的标签向下扩展的子节点标签,在所述顶级标签层级向下扩展的下一级标签层级创建所述第一目标节点的标签;
若所述第一标签层级是所述顶级标签层级向下扩展的一个标签层级,则将所述第一目标节点的标签作为所述父节点的标签向下扩展的子节点标签,在所述第一标签层级向下扩展的下一级标签层级创建所述第一目标节点的标签。
根据本发明提供的一种标签创建方法,还包括:
接收业务系统发送的第二标签请求消息,所述第二标签请求消息用于实现以下至少一种功能:
添加标签;
更新标签;
删除标签;
启用/禁用标签;
按条件检索标签;
获取标签详情;
按条件统计标签;
标签关联业务查询。
根据本发明提供的一种标签创建方法,所述第二标签请求消息用于删除第二目标节点的标签;
所述方法还包括:
若所述第二目标节点的标签为预置标签,则不删除所述第二目标节点的标签;
若所述第二目标节点的标签为非预置标签,则删除所述第二目标节点的标签。
根据本发明提供的一种标签创建方法,所述第二标签请求消息用于查询第三目标节点的标签关联业务;
所述方法还包括:
获取用于查询所述标签关联业务的标签关联关系表,所述标签关联关系表中包括所述森林数据结构中每个标签的标签标识,以及所述每个标签所关联的业务的业务标识;
从所述标签关联关系表中查询所述第三目标节点的标签关联业务,得到查询结果;
将所述查询结果发送至所述业务系统。
根据本发明提供的一种标签创建方法,还包括:
创建标签关联关系表,所述标签关联关系表中包括所述森林数据结构中每个标签的标签标识,以及所述每个标签所关联的业务的业务标识。
根据本发明提供的一种标签创建方法,所述标签服务系统包括应用程序接口API,所述API用于所述标签服务系统与所述业务系统之间的消息传输。
本发明还提供了一种标签创建装置,所述装置用于标签服务系统,所述标签服务系统的标签数据结构为森林数据结构,所述装置包括:
第一确定模块,用于确定待创建标签的第一目标节点和所述第一目标节点的父节点;
第二确定模块,用于确定所述第一目标节点的第一标签标识和所述父节点的第二标签标识;
创建模块,用于根据所述第一标签标识和所述第二标签标识创建所述第一目标节点的标签。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述标签创建方法的步骤。
本发明还提供一种标签管理系统,其特征在于,包括业务系统和标签服务系统;其中,所述业务系统用于生成第一标签请求消息,所述第一标签请求消息是所述业务系统按照设定规则生成的、且用于创建所述第一目标节点的标签的请求消息,所述设定规则与所述标签服务系统的标签数据结构相对应;以及将所述第一标签请求消息发送至所述标签服务系统;所述标签服务系统用于执行上述任一种所述标签创建方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述标签创建方法的步骤。
本发明还提供一种计算机程序产品,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述标签创建方法的步骤。
本发明提供的标签创建方法、装置、设备、系统与存储介质,通过确定待创建标签的第一目标节点和第一目标节点的父节点,确定第一目标节点的第一标签标识和第一目标节点的父节点的第二标签标识,根据第一标签标识和第二标签标识创建第一目标节点的标签,这样有利于实现基于森林数据结构的标签服务系统,并且森林数据结构不限制标签数量和标签深度,从而提高了标签创建的灵活性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图6描述本发明的标签创建方法、装置、设备、系统与存储介质。
图1是本发明提供的标签创建方法的流程示意图,如图1所示,本发明的标签创建方法可以应用于标签服务系统,该标签服务系统的标签数据结构为森林数据结构,森林数据结构可以有多棵树,且每棵树都可有多层级、多个节点。该标签创建方法可以包括以下步骤:
步骤101、确定待创建标签的第一目标节点和所述第一目标节点的父节点。
步骤102、确定所述第一目标节点的第一标签标识和所述父节点的第二标签标识。
步骤103、根据所述第一标签标识和所述第二标签标识创建所述第一目标节点的标签。
具体地,用于本发明的标签服务系统主要提供独立管理标签的能力,且可对外提供不同标签操作服服务。
在本实施例中,可以通过第一目标节点的第一标签标识(即id)和第一目标节点的父节点的第二标签标识(即pid)的方式,实现多棵树且每个树都可有无限层级的森林数据结构。
比如:如图2所示,第一目标节点的标签名称为通报处置,其第一标签标识(即id)为3;其父节点的第二标签标识(即pid)为1,即父节点为态势感知平台。
又比如:如图2所示,第一目标节点的标签名称为态势感知平台,其第一标签标识(即id)为1;其父节点的第二标签标识(即pid)为0,即该势感知平台为顶级标签,没有父节点。
又比如:如图2所示,第一目标节点的标签名称为邮件消息,其第一标签标识(即id)为8;其父节点的第二标签标识(即pid)为2,即父节点为手机终端。
又比如:如图2所示,第一目标节点的标签名称为手机终端,其第一标签标识(即id)为2;其父节点的第二标签标识(即pid)为0,即该手机终端为顶级标签,没有父节点。
本发明提供的标签创建方法可以通过确定待创建标签的第一目标节点和第一目标节点的父节点,确定第一目标节点的第一标签标识和第一目标节点的父节点的第二标签标识,根据第一标签标识和第二标签标识创建第一目标节点的标签,这样有利于实现基于森林数据结构的标签服务系统,并且森林数据结构不限制标签数量和标签深度,从而提高了标签创建的灵活性。
基于上述任一实施例,在本实施例中,在执行步骤101,可以包括:
接收业务系统发送的第一标签请求消息,所述第一标签请求消息是所述业务系统按照第一设定规则生成的、且用于创建所述第一目标节点的标签的请求消息,所述第一设定规则与所述森林数据结构相对应;
对所述第一标签请求消息进行消息校验,得到校验结果;
若所述校验结果为通过校验,则根据所述第一标签请求消息确定待创建标签的第一目标节点和所述第一目标节点的父节点。
具体地,用于本发明的标签服务系统可以提供一套森林数据结构的设计规范(即第一设定规则),可供不同业务系统使用。而业务系统也可以根据各自业务需求,按照森林数据结构的设计规范生成用于创建标签的第一标签请求消息。
可选地,第一标签请求消息可以包括所述第一目标节点的标签名称、以及所述父节点的标签名称和/或所述第二标签标识。
比如:该第一标签请求消息可以包括:
标签服务系统在接收到第一标签请求消息后,可以根据森林数据结构的设计规范对第一标签请求消息进行消息校验,得到校验结果,若通过校验,则可以根据该第一标签请求消息确定待创建标签的第一目标节点和该第一目标节点的父节点;若未通过校验,则向业务系统返回用于指示未通过校验的异常消息。
可选地,在对第一标签请求消息进行消息校验时,可以通过数据传输对象(DataTransfer Object,DTO)方式对所述第一标签请求消息进行消息校验。其中,DTO方式主要用于解析并校验标签请求参数。针对校验通过的数据,在归一化处理后落库存储,否则将给发送方(即业务系统)返回校验不通过原因。比如:DTO是数据传输对象,对象中会有很多属性,在DTO中可以对这些属性,通过函数方式,做非空、数据类型以及默认值校验。
除了上述DTO方式之外,还可以在程序逻辑中进行逻辑校验。与DTO方式相比,DTO方式面向对象方式校验,代码完整性比较好,且代码比较简洁。
在本实施例中,如图3所示,标签服务系统和业务系统之间实现标签创建的过程可以包括:
(1)业务系统(即图3中的平台、系统模块、终端等)组装标签消息体并发送。
具体地,标签消息体是业务系统按照设定规则生成的、且用于创建第一目标节点的标签的请求消息,设定规则与标签服务系统的森林数据结构相对应。
(2)标签服务系统接收业务系统发送的标签消息体。
(3)标签服务系统解码标签消息体。
(4)通过DTO方式,对解码后的标签消息体进行消息校验。
(5)判断校验是否通过,若通过,则按照森林数据结果落库存储;若未通过,则向业务系统(即图3中的平台、系统模块、终端等)返回异常消息。
本发明提供的标签创建方法可以接收业务系统发送的第一标签请求消息,第一标签请求消息是业务系统按照设定规则生成的、且用于创建第一目标节点的标签的请求消息,设定规则与森林数据结构相对应;对第一标签请求消息进行消息校验,得到校验结果;若校验结果为通过校验,则根据所述第一标签请求消息确定第一目标节点和第一目标节点的父节点,这样有利于统一各个业务系统发送的标签请求消息,使得所有标签解析归一化处理,从而避免了代码混乱,可读性差等问题,并且将业务程序和标签程序解耦,使得标签服务复用性增强,即不同业务模块可复用一套标签服务;因独立后的标签服务是微服务架构,平台移植性强。
基于上述任一实施例,在本实施例中,在执行步骤102,可以包括:
按照第二设定规则生成所述第一标签标识;
若所述第一目标节点具有所述父节点,则根据所述父节点确定所述第二标签标识;
若所述第一目标节点不具有所述父节点,则确定所述第一目标节点的标签为顶级标签,设置所述第二标签标识为0。
具体地,用于本发明的标签服务系统在确定各个节点的标签标识时,可以包括但不限于以下四种情形:
(1)针对没有父节点的第一目标节点,其标签为顶级标签,其父节点的标签标识默认为0)(即默认pid为0,其标签标识(即id)可以由数据库按照当前序列自动生成(即第二设定规则);针对有父节点的第一目标节点,可建立多个子节点标签,或无限层级孙子节点,其父节点的标签标识(即pid)可以由业务系统发送的标签消息体(即标签消息体是业务系统按照设定规则生成的、且用于创建第一目标节点的标签的请求消息,设定规则与标签服务系统的森林数据结构相对应)传递过来,其标签标识(即id)可以由数据库按照当前序列自动生成。比如:标签标识(即id)可以通过雪花算法生成,或者顺序生成等。
(2)针对预置好的标签,需提前规划好对应的id和pid值、并初始化到数据库表中,同时将数据库表的设定字段(即is_preset字段)设为1,特殊注意:预置标签不允许删除,且需要通过设定(即alert sequence)方式更新数据库最新序列值为当前值,以方便后续非初始化数据自动增加进来。
其中,Is_preset字段,代表是否预置标签;如果为1,代表是预置标签,是在安装时需要初始化到数据库中,且不允许删除。
alert sequence方式是更新数据库序列的一种实现方式,该alert sequence是结构化查询语言(Structured Query Language,SQL)语句。比如:预置标签设置完成后,最新标签的序列号可能是5,那就通过alert sequence的方式,把当前数据库序列变更为6,避免后续新标签添加失败。
(3)标签服务也允许自定义父节点的标签标识(即pid)为0的顶级标签,但此顶级标签为非预置标签,允许删除。
(4)针对标签层级,可以根据具体的业务增加,但此种设计结构不限制顶级标签的数量、以及标签层级深度,所以比较灵活,实用性广,其具体的基于森林数据结构的标签创建示例,可参见图2所示。
本发明提供的标签创建方法可以按照设定数据库序列规则生成第一标签标识,针对具有父节点的第一目标节点,可以根据父节点确定第二标签标识,针对不具有父节点的第一目标节点,可以直接设置第二标签标识为0,这样有利于实现基于森林数据结构的标签服务系统,并且森林数据结构不限制标签数量和标签深度,从而提高了标签创建的灵活性。
基于上述任一实施例,在本实施例中,在执行步骤103,可以包括:
根据业务系统的业务层级确定所述森林数据结构的标签层级深度;
若根据所述第二标签标识确定所述第一目标节点的标签是顶级标签,则在所述标签层级深度中的顶级标签层级创建所述第一目标节点的标签;
若根据所述第二标签标识确定所述第一目标节点的标签不是所述顶级标签,则确定所述父节点的标签处于所述标签层级深度中的第一标签层级;
若所述第一标签层级是所述顶级标签层级,则将所述第一目标节点的标签作为所述父节点的标签向下扩展的子节点标签,在所述顶级标签层级向下扩展的下一级标签层级创建所述第一目标节点的标签;
若所述第一标签层级是所述顶级标签层级向下扩展的一个标签层级,则将所述第一目标节点的标签作为所述父节点的标签向下扩展的子节点标签,在所述第一标签层级向下扩展的下一级标签层级创建所述第一目标节点的标签。
在本实施例中,根据业务系统的业务层级确定森林数据结构的标签层级深度,比如:如图2所示,该森林数据结构的标签层级深度为3层,包括顶级标签层级、以及顶级标签层级向下扩展的子孙标签层级。其中,顶级标签层级包括态势感知平台、手机终端这两个顶级标签。顶级标签层级向下扩展的子标签层级包括态势感知平台这个顶级标签向下扩展的子标签:通报处置、指挥调度、治理资源;以及手机终端这个顶级标签向下扩展的子标签:邮件消息、短信消息。态势感知平台这个顶级标签向下扩展的孙标签层级包括通报处置向下扩展的子标签:已通报、已归档;手机终端这个顶级标签向下扩展的孙标签层级包括邮件消息下扩展的子标签:通报消息、反馈消息。
在本实施例中,若根据第二标签标识确定第一目标节点的标签是顶级标签,则在标签层级深度中的顶级标签层级创建第一目标节点的标签。比如:第二标签标识为0,则确定第一目标节点的标签是顶级标签。又比如:如图2所示,第一目标节点的标签为顶级标签,此时可以在顶级标签层级(包括态势感知平台、手机终端这两个顶级标签)创建另一个顶级标签,即第一目标节点的标签。
在本实施例中,若根据第二标签标识确定第一目标节点的标签不是顶级标签,则确定父节点的标签处于标签层级深度中的第一标签层级。比如:第二标签标识不为0,则确定第一目标节点的标签不是顶级标签。又比如:如图2所示,父节点的标签可能为顶级标签层级、或顶级标签层级向下扩展的子孙标签层级。
在本实施例中,若第一标签层级是顶级标签层级,则将第一目标节点的标签作为父节点的标签向下扩展的子节点标签,在顶级标签层级向下扩展的下一级标签层级创建第一目标节点的标签。比如:如图2所示,父节点的标签为态势感知平台这个顶级标签,此时可以在态势感知平台这个顶级标签向下扩展第一目标节点的标签。
在本实施例中,若第一标签层级是顶级标签层级向下扩展的一个标签层级,则将第一目标节点的标签作为父节点的标签向下扩展的子节点标签,在第一标签层级向下扩展的下一级标签层级创建第一目标节点的标签。比如:如图2所示,父节点的标签为态势感知平台这个顶级标签的子节点标签即通报处置,此时可以在通报处置这个子节点标签向下扩展第一目标节点的标签,最终得到标签树架构。
本发明提供的标签创建方法可以根据业务系统的业务层级确定所述森林数据结构的标签层级深度,并根据所述第一标签标识和所述第二标签标识确定所述第一目标节点位于所述标签层级深度的位置,以及在该位置创建第一目标节点的标签,从而实现了标签树架构,并且该结构不限制标签数量和标签深度,从而提高了标签创建的灵活性。
基于上述任一实施例,在本实施例中,该标签创建方法还可以包括:
接收业务系统发送的第二标签请求消息,所述第二标签请求消息用于实现以下至少一种功能:
添加标签;
更新标签;
删除标签;
启用/禁用标签;
按条件检索标签;
获取标签详情;
按条件统计标签;
标签关联业务查询。
具体地,用于本发明的标签服务系统可以为业务系统提供标签调用服务。如图4所示,标签调用服务主要包括:添加标签、更新标签、删除标签、启用/禁用标签、按条件检索标签、获取标签详情、按条件统计标签、标签关联业务查询等功能。
其中,添加标签指的是标签落库的过程。
更新标签、删除标签、启用/禁用标签均指的是针对落库标签的操作。
按条件检索标签指的是按照一定条件进行检索。比如:按照名称模糊搜索或者检索一个父节标签下的所有子节点标签。
获取标签详情指的是获取标签详情。比如:获取“网络攻击技能标签”详情,这个“网络攻击技能标签”是谁创建的、创建事件是什么时候,主要给什么业务打标签,以及它的父节点标签是什么、子节点标签是什么。
按条件统计标签指的是按照一定条件进行统计。比如:按照是否预置进行统计,得到预置和非预置占比;也可按照森林结构中每棵树进行统计,看每棵树有多少个标签节点。
标签关联业务查询,即查询某一标签被哪些业务,为满足这一需求,可以设置一张业务与标签关联关系表,即tb_tag_lin表,通过表中的目标业务标识(即target)和标签标识(tag_id)的方式,把目标业务字段和标签表关联起来,以方便后续从标签维度进行不同业务检索。
本发明提供的标签创建方法可以接收业务系统发送的第二标签请求消息,第二标签请求消息用于请问标签调用服务,从而提高了标签服务系统的实用性。
基于上述任一实施例,在本实施例中,所述第二标签请求消息用于删除第二目标节点的标签;该标签创建方法还可以包括:若所述第二目标节点的标签为预置标签,则不删除所述第二目标节点的标签;
若所述第二目标节点的标签为非预置标签,则删除所述第二目标节点的标签。
具体地,第二目标节点与第一目标节点可以相同,也可以不同。预置标签可以指的是预先设置好的标签,该预置标签不允许删除。非预置标签可以指的是自定义的标签,该非预置标签允许删除。比如:自定义pid为0的顶级标签,但此顶级标签为非预置标签,允许删除。
用于本发明的标签服务系统可以为业务系统提供标签删除服务。若需要删除的标签为预置标签,则不允许删除;若需要删除的标签为非预置标签,则允许删除。
本发明提供的标签创建方法可以通过接收业务系统发送的第二标签请求消息,第二标签请求消息用于删除第二目标节点的标签,若第二目标节点的标签为预置标签,则不删除所述第二目标节点的标签;若第二目标节点的标签为非预置标签,则删除第二目标节点的标签,从而提高了标签服务系统的可靠性。
基于上述任一实施例,在本实施例中,所述第二标签请求消息用于查询第三目标节点的标签关联业务;该标签创建方法还可以包括:
获取用于查询所述标签关联业务的标签关联关系表,所述标签关联关系表中包括所述森林数据结构中每个标签的标签标识,以及所述每个标签所关联的业务的业务标识;
从所述标签关联关系表中查询所述第三目标节点的标签关联业务,得到查询结果;
将所述查询结果发送至所述业务系统。
具体地,标签关联业务查询,即查询某一标签被哪些业务关联,为满足这一需求,可以设置一张业务与标签关联关系表,即tb_tag_lin表,通过表中的目标业务标识(即target)和标签标识(tag_id)的方式,把目标业务字段和标签表关联起来,以方便后续从标签维度进行不同业务检索。
本发明提供的标签创建方法可以接收业务系统发送的第二标签请求消息,第二标签请求消息用于查询第三目标节点的标签关联业务;此时可以根据第二标签请求消息为业务提供标签关联业务查询服务,从而提高了标签服务系统的实用性。
基于上述任一实施例,在本实施例中,该标签创建方法还可以包括:创建标签关联关系表,所述标签关联关系表中包括所述森林数据结构中每个标签的标签标识,以及所述每个标签所关联的业务的业务标识。
本发明提供的标签创建方法为了能够为业务系统提供标签关联业务查询服务,可以创建标签关联关系表,这样便于在接收到业务系统的标签关联业务查询请求时,及时为业务系统提供标签关联业务查询服务,从而提高了标签服务的准确性和效率。
基于上述任一实施例,在本实施例中,所述标签服务系统包括应用程序接口(Application Programming Interface,API),所述API用于所述标签服务系统与所述业务系统之间的消息传输。
具体地,如图4所示,用于本发明的标签服务系统可以为业务系统(即图4中的平台、系统模块、终端等)提供统一的API服务接口,供业务系统(即图4中的平台、系统模块、终端等)调用。其中,API服务接口提高的API服务主要包括:添加、更新、删除、启用/禁用、按条件检索、获取详情、按条件统计、标签关联业务查询等。
本发明提供的标签创建方法可以为业务系统提供统一的API服务接口,这样可以避免同样操作接口重复开发,降低了资源消耗。并且,通过将业务程序和标签程序解耦,使得标签管理独立成标签服务,从而使得标签服务复用性增强,即不同业务模块可复用一套标签服务;因独立后的标签服务是微服务架构,平台移植性强。
下面对本发明提供的标签创建装置进行描述,下文描述的标签创建装置与上文描述的标签创建方法可相互对应参照。
图5是本发明提供的标签创建装置的结构示意图,如图5所示,本发明提供的标签创建装置可以用于标签服务系统,所述标签服务系统的标签数据结构为森林数据结构,该标签创建装置可以包括:
第一确定模块51,用于确定待创建标签的第一目标节点和所述第一目标节点的父节点;
第二确定模块52,用于确定所述第一目标节点的第一标签标识和所述父节点的第二标签标识;
创建模块53,用于根据所述第一标签标识和所述第二标签标识创建所述第一目标节点的标签。
本发明提供的标签创建装置可以通过确定待创建标签的第一目标节点和第一目标节点的父节点,确定第一目标节点的第一标签标识和第一目标节点的父节点的第二标签标识,根据第一标签标识和第二标签标识创建第一目标节点的标签,这样有利于实现基于森林数据结构的标签服务系统,并且森林数据结构不限制标签数量和标签深度,从而提高了标签创建的灵活性。
基于上述任一实施例,在本实施例中,第一确定模块51可以包括:
接收子模块,用于接收业务系统发送的第一标签请求消息,所述第一标签请求消息是所述业务系统按照第一设定规则生成的、且用于创建所述第一目标节点的标签的请求消息,所述第一设定规则与所述森林数据结构相对应;
校验子模块,用于对所述第一标签请求消息进行消息校验,得到校验结果;
第一确定子模块,用于所述校验结果为通过校验,则根据所述第一标签请求消息确定待创建标签的第一目标节点和所述第一目标节点的父节点。
本发明提供的标签创建装置可以接收业务系统发送的第一标签请求消息,第一标签请求消息是业务系统按照设定规则生成的、且用于创建第一目标节点的标签的请求消息,设定规则与森林数据结构相对应;对第一标签请求消息进行消息校验,得到校验结果;若校验结果为通过校验,则根据所述第一标签请求消息确定第一目标节点和第一目标节点的父节点,这样有利于统一各个业务系统发送的标签请求消息,使得所有标签解析归一化处理,从而避免了代码混乱,可读性差等问题,并且将业务程序和标签程序解耦,使得标签服务复用性增强,即不同业务模块可复用一套标签服务;因独立后的标签服务是微服务架构,平台移植性强。
基于上述任一实施例,在本实施例中,校验子模块可以具体用于通过数据传输对象DTO方式对所述第一标签请求消息进行消息校验。
基于上述任一实施例,在本实施例中,所述第一标签请求消息中包括所述第一目标节点的标签名称、以及所述父节点的标签名称和/或所述第二标签标识。
基于上述任一实施例,在本实施例中,第二确定模块52可以包括:
按照第二设定规则生成所述第一标签标识;
若所述第一目标节点具有所述父节点,则根据所述父节点确定所述第二标签标识;
若所述第一目标节点不具有所述父节点,则确定所述第一目标节点的标签为顶级标签,设置所述第二标签标识为0。
本发明提供的标签创建装置可以按照设定数据库序列规则生成第一标签标识,针对具有父节点的第一目标节点,可以根据父节点确定第二标签标识,针对不具有父节点的第一目标节点,可以直接设置第二标签标识为0,这样有利于实现基于森林数据结构的标签服务系统,并且森林数据结构不限制标签数量和标签深度,从而提高了标签创建的灵活性。
基于上述任一实施例,在本实施例中,创建模块53包括:
第二确定子模块,用于根据业务系统的业务层级确定所述森林数据结构的标签层级深度;
第一创建子模块,用于若根据所述第二标签标识确定所述第一目标节点的标签是顶级标签,则在所述标签层级深度中的顶级标签层级创建所述第一目标节点的标签;
第三确定子模块,用于若根据所述第二标签标识确定所述第一目标节点的标签不是所述顶级标签,则确定所述父节点的标签处于所述标签层级深度中的第一标签层级;
第二创建子模块,用于若所述第一标签层级是所述顶级标签层级,则将所述第一目标节点的标签作为所述父节点的标签向下扩展的子节点标签,在所述顶级标签层级向下扩展的下一级标签层级创建所述第一目标节点的标签;
第三创建子模块,用于若所述第一标签层级是所述顶级标签层级向下扩展的一个标签层级,则将所述第一目标节点的标签作为所述父节点的标签向下扩展的子节点标签,在所述第一标签层级向下扩展的下一级标签层级创建所述第一目标节点的标签。
本发明提供的标签创建装置可以根据业务系统的业务层级确定所述森林数据结构的标签层级深度,并根据所述第一标签标识和所述第二标签标识确定所述第一目标节点位于所述标签层级深度的位置,以及在该位置创建第一目标节点的标签,从而实现了标签树架构,并且该结构不限制标签数量和标签深度,从而提高了标签创建的灵活性。
基于上述任一实施例,在本实施例中,还可以包括:
接收模块,用于接收业务系统发送的第二标签请求消息,所述第二标签请求消息用于实现以下至少一种功能:
添加标签;
更新标签;
删除标签;
启用/禁用标签;
按条件检索标签;
获取标签详情;
按条件统计标签;
标签关联业务查询。
本发明提供的标签创建装置可以接收业务系统发送的第二标签请求消息,第二标签请求消息用于请问标签调用服务,从而提高了标签服务系统的实用性。
基于上述任一实施例,在本实施例中,所述第二标签请求消息用于删除第二目标节点的标签;所述装置还包括:
第一处理模块,用于若所述第二目标节点的标签为预置标签,则不删除所述第二目标节点的标签;
第二处理模块,用于若所述第二目标节点的标签为非预置标签,则删除所述第二目标节点的标签。
本发明提供的标签创建装置可以通过接收业务系统发送的第二标签请求消息,第二标签请求消息用于删除第二目标节点的标签,若第二目标节点的标签为预置标签,则不删除所述第二目标节点的标签;若第二目标节点的标签为非预置标签,则删除第二目标节点的标签,从而提高了标签服务系统的可靠性。
基于上述任一实施例,在本实施例中,所述第二标签请求消息用于查询第三目标节点的标签关联业务;所述装置还包括:
获取模块,用于获取用于查询所述标签关联业务的标签关联关系表,所述标签关联关系表中包括所述森林数据结构中每个标签的标签标识,以及所述每个标签所关联的业务的业务标识;
查询模块,用于从所述标签关联关系表中查询所述第三目标节点的标签关联业务,得到查询结果;
发送模块,用于将所述查询结果发送至所述业务系统。
本发明提供的标签创建装置可以接收业务系统发送的第二标签请求消息,第二标签请求消息用于查询第三目标节点的标签关联业务;此时可以根据第二标签请求消息为业务提供标签关联业务查询服务,从而提高了标签服务系统的实用性。
基于上述任一实施例,在本实施例中,所述方法还包括:
创建模块,用于创建标签关联关系表,所述标签关联关系表中包括所述森林数据结构中每个标签的标签标识,以及所述每个标签所关联的业务的业务标识。
本发明提供的标签创建装置为了能够为业务系统提供标签关联业务查询服务,可以创建标签关联关系表,这样便于在接收到业务系统的标签关联业务查询请求时,及时为业务系统提供标签关联业务查询服务,从而提高了标签服务的准确性和效率。
基于上述任一实施例,在本实施例中,所述标签服务系统包括API,所述API用于所述标签服务系统与所述业务系统之间的消息传输。
本发明提供的标签创建装置可以为业务系统提供统一的API服务接口,这样可以避免同样操作接口重复开发,降低了资源消耗。并且,通过将业务程序和标签程序解耦,使得标签管理独立成标签服务,从而使得标签服务复用性增强,即不同业务模块可复用一套标签服务;因独立后的标签服务是微服务架构,平台移植性强。
图6是本发明提供的电子设备的结构示意图,如图6所示,该电子设备可以用于标签服务系统,包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行标签创建方法,该方法包括:
确定待创建标签的第一目标节点和所述第一目标节点的父节点;
确定所述第一目标节点的第一标签标识和所述父节点的第二标签标识;
根据所述第一标签标识和所述第二标签标识创建所述第一目标节点的标签。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种标签管理系统,包括上述任一实施例所示的标签服务系统和业务系统;
其中,所述业务系统用于生成第一标签请求消息,所述第一标签请求消息是所述业务系统按照设定规则生成的、且用于创建所述第一目标节点的标签的请求消息,所述设定规则与所述标签服务系统的标签数据结构相对应;以及将所述第一标签请求消息发送至所述标签服务系统。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的标签创建方法,该方法包括:
确定待创建标签的第一目标节点和所述第一目标节点的父节点;
确定所述第一目标节点的第一标签标识和所述父节点的第二标签标识;
根据所述第一标签标识和所述第二标签标识创建所述第一目标节点的标签。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的标签创建方法,该方法包括:
确定待创建标签的第一目标节点和所述第一目标节点的父节点;
确定所述第一目标节点的第一标签标识和所述父节点的第二标签标识;
根据所述第一标签标识和所述第二标签标识创建所述第一目标节点的标签。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。