本申请涉及通信技术领域,尤其涉及一种文档生成方法及装置。
背景技术:
在互联网、通信等领域中,无论是硬件产品还是软件产品在发布时,一般会同时发布相关文档。这些文档有助于使用者了解与产品相关的信息,例如产品功能、使用方法、配置指南或系统日志等。
在现有技术中,由开发人员编写需要随产品同时发布的相关文档,编写人员编写完成之后交由测试人员负责测试,测试通过后再交由文档人员进行复核与验收,最后随同产品一起发布。这种文档发布方式的效率较低,而且随着产品频繁地更新换代,文档数量较多,所以文档的错误率也相对较高。
技术实现要素:
本申请的多个方面提供一种文档生成方法及装置,用以提高文档生成效率,降低文档错误率。
本申请实施例提供一种文档生成方法,包括:
确定需要生成文档的目标产品以及需要生成的目标文档类型;
根据所述目标产品的配置宏文件,从配置宏集合中选择所述目标产品包含的配置宏;
从所述目标文档类型对应的基准数据集合中,选择与所述目标产品包含的配置宏匹配的基准数据;
根据与所述目标产品包含的配置宏匹配的基准数据,生成所述目标产品所需的文档。
在一可选实施方式中,所述确定需要生成文档的目标产品以及需要生成的目标文档类型,包括:
根据用户的访问请求,向所述用户展示多个标签页,每个标签页对应一个文档类型;
响应于所述用户从所述多个标签页中选择目标标签页的操作,确定所述目标标签页对应的文档类型为所述目标文档类型;以及
在所述目标标签页上展示产品列表,以供所述用户从中选择所述目标产品;
响应于所述用户从所述产品列表中选择所述目标产品的操作,确定所述目标产品。
在一可选实施方式中,所述目标标签页包括文档导出控件;
所述在所述目标标签页上展示产品列表,包括:
响应于所述用户点击所述文档导出控件的操作,在所述目标标签页上展示所述产品列表。
在一可选实施方式中,所述从所述目标文档类型对应的基准数据集合中,选择与所述目标产品包含的配置宏匹配的基准数据,包括:
将所述基准数据集合中的基准数据全部导出至一列表型文件中;
根据所述目标产品包含的配置宏与基准数据的匹配情况,为所述列表型文件中的每个基准数据添加选中标记或未选中标记;
从所述列表型文件中,选择带有选中标记的基准数据。
在一可选实施方式中,所述根据与所述目标产品包含的配置宏匹配的基准数据,生成所述目标产品所需的文档,包括:
获取所述目标文档类型对应的文档模板;
将与所述目标产品包含的配置宏匹配的基准数据添加至所述文档模板中,以获得所述目标产品所需的文档。
在一可选实施方式中,在根据所述目标产品的配置宏文件,从配置宏集合中选择所述目标产品包含的配置宏之前,所述方法还包括:
每当有新产品出现时,根据所述新产品包含的配置宏,以增量方式更新所述配置宏集合;和/或
每当用户自定义配置宏时,根据所述用户自定义的配置宏,以增量方式更新所述配置宏集合。
在一可选实施方式中,在从所述目标文档类型对应的基准数据集合中,选择与所述目标产品包含的配置宏匹配的基准数据之前,所述方法还包括:
每当有新产品出现时,根据所述新产品所涉及的与所述目标文档类型对应的基准数据,以增量方式更新所述基准数据集合;和/或
每当用户自定义与所述目标文档类型对应的基准数据时,根据所述用户自定义的与所述目标文档类型对应的基准数据,以增量方式更新所述基准数据集合。
本申请实施例还提供一种文档生成装置,包括:
确定模块,用于确定需要生成文档的目标产品以及需要生成的目标文档类型;
第一选择模块,用于根据所述目标产品的配置宏文件,从配置宏集合中选择所述目标产品包含的配置宏;
第二选择模块,用于从所述目标文档类型对应的基准数据集合中,选择与所述目标产品包含的配置宏匹配的基准数据;
生成模块,用于根据与所述目标产品包含的配置宏匹配的基准数据,生成所述目标产品所需的文档。
本申请实施例还提供一种电子设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的所述程序,以用于:
确定需要生成文档的目标产品以及需要生成的目标文档类型;
根据所述目标产品的配置宏文件,从配置宏集合中选择所述目标产品包含的配置宏;
从所述目标文档类型对应的基准数据集合中,选择与所述目标产品包含的配置宏匹配的基准数据;
根据与所述目标产品包含的配置宏匹配的基准数据,生成所述目标产品所需的文档。
在本申请实施例中,首先,确定需要生成文档的目标产品以及需要生成的目标文档类型;基于目标产品的配置宏文件,从配置宏集合中选择目标产品包含的配置宏,进而从目标文档类型对应的基准数据集合中,选择与目标产品包含的配置宏匹配的基准数据,由选择出的基准数据,生成目标产品所需的文档。由此可见,本申请实施例可基于产品的配置宏文件以及配置宏与基准数据之间的匹配关系,自动生成产品所需的文档,不仅效率较高,而且有利于降低文档的出错概率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请一实施例提供的文档生成方法的流程示意图;
图1b为本申请另一实施例提供的通过列表型文件选择基准数据的状态示意图;
图2为本申请另一实施例提供的文档生成方法的流程示意图;
图3a为本申请又一实施例提供的文档生成方法的流程示意图;
图3b为本申请又一实施例提供的cref文档的部分示意图;
图4a为本申请又一实施例提供的文档生成方法的流程示意图;
图4b为本申请又一实施例提供的scg文档的部分示意图;
图5为本申请又一实施例提供的文档生成装置的结构示意图;
图6为本申请又一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1a为本申请一实施例提供的文档生成方法的流程示意图。如图1a所示,所述方法包括:
101、确定需要生成文档的目标产品以及需要生成的目标文档类型。
102、根据目标产品的配置宏文件,从配置宏集合中选择目标产品包含的配置宏。
103、从目标文档类型对应的基准数据集合中,选择与目标产品包含的配置宏匹配的基准数据。
104、根据与目标产品包含的配置宏匹配的基准数据,生成目标产品所需的文档。
在实际应用中,根据应用场景或应用需求的不同,经常需要为产品生成相应文档。例如,在发布产品时,需要为产品生成随同产品一起发布的文档。例如,在验证产品时,需要生成可辅助验证产品的验证文档。这些文档都是以产品为依据的。产品不同,需要生成的文档也会有所不同。
另外,与产品相关的文档可能会有多种类型。一般来说,根据产品、应用需求或应用场景的不同,需要生成的文档类型也会有所不同。以通信领域的产品为例,一般会涉及软件产品功能规格(specification,spec)文档、命令参考(commandreference,cref)文档、产品配置指南(sampleconfigurationguide,scg)文档、管理信息库(managementinformationbase,mib)文档、系统日志(systemlog,syslog)文档、软件需求规范(softwarerequirementspecification,srs)文档等几类文档。
在本实施例中,提供一种文档生成装置,例如可以是配置宏定义管理文档系统,但不限于此。当需要生成文档时,文档生成装置首先确定需要生成文档的产品以及需要生成的文档类型。为便于描述和区分,将需要生成文档的产品成为目标产品,相应地,将需要生成的文档类型成为目标文档类型。
本实施例并不限定目标产品的类型或形式。例如,目标产品可以是互联网、通信等领域中的软件类产品或硬件类产品。其中,软件类产品可以是一些应用程序(application,app)、插件、补丁等。硬件类产品可以是交换机、路由器或无线接入设备等。
在产品开发过程中,为了提高产品代码的可移植性和可读性,一些常用的或者通用的功能可以封装为配置宏。配置宏是“宏定义”的另一种叫法,该配置宏通过宏名来表示一段功能代码。例如,配置宏的宏名为aaa,代表的是一段实现流量控制的功能代码。又例如,配置宏的宏名为abb,代表的是一段可以将40g接口拆分为4个10g接口的功能代码。又例如,配置宏的宏名为bbb,代表的是一段实现线缆检测的功能代码。又例如,配置宏的宏名为bbc,代表的是一段实现光模块防伪的功能代码。又例如,配置宏的宏名为bcc,代表的是一段实现接入点(accesspoint,ap)接口统计值上报无线控制器(accesscontroller,ac)的功能代码。
在本实施例中,文档生成装置预先存储有配置宏集合,该配置宏集合存储有各类配置宏。根据应用环境的不同,配置宏集合中存储的配置宏也会有所不同。在应用场景确定的情况下,理论上,配置宏集合中可以包含该应用场景中的所有配置宏。例如,假设应用场景为一家公司,则配置宏集合中可以包括该公司所有产品涉及的配置宏,是配置宏的最全集。
对具体产品来说,可通过配置宏文件来管理产品使用到的配置宏。配置宏文件中包括配置宏的开关,用以控制配置宏的开启或关闭。例如,配置宏文件中定义了aaa=y,表示配置宏aaa开启,定义bbc=n,表示配置宏bbc不开启(关闭),定义abb=y,表示配置宏abb开启,等等。不同产品的功能不同,所使用的配置宏也会有所不同,则配置宏文件中定义的配置宏的开关情况也会不同。值得说明的是,配置宏文件中用于控制配置宏开启或关闭的取值并不限于“y”和“n”,也可以是“1”和“0”等其它值。
在本实施例中,在确定目标产品之后,可根据目标产品的配置宏文件,从配置宏集合中选择目标产品包含的配置宏。例如,假设配置宏文件中定义为“y”的配置宏是目标产品需要开启的配置宏,则可以从配置宏集合中选择配置宏文件中定义为“y”的配置宏,作为目标产品包含的配置宏。
另外,每个文档类型都有自己的基准数据。对任一文档类型来说,其基准数据是指构成该类型文档的最小数据单元,每个文档都有一系列基准数据构成。对任一文档类型来说,其基准数据可以形成基准数据集合。不同文档类型对应不同的基准数据集合。对任一类型的一个文档来说,该文档一般是由相应基准数据集合中的部分基准数据组成的,可以看作是基准数据集合的子集。例如,对目标文档类型来说,该类型的每个文档一般是由该文档类型对应的基准数据集合中的部分基准数据构成的。
其中,基准数据与配置宏之间具有一一对应的关系。不同文档类型下的基准数据负责在相应文档类型下对配置宏进行符合相应文档类型的说明、解释、定义或描述。
在本实施例中,文档生成装置预先存储有各文档类型对应的基准数据集合。在确定目标产品包含的配置宏之后,可以从目标文档类型对应的基准数据集合中,选择与目标产品包含的配置宏匹配的基准数据;进而,根据与目标产品包含的配置宏匹配的基准数据,生成目标产品所需的文档。
由上述分析可见,在本实施例中,以配置宏集合和基准数据集合为基础,基于目标产品的配置宏文件以及配置宏与基准数据之间的匹配关系,可自动为产品生成所需的文档,不仅效率较高,而且有利于降低文档的出错概率。
在上述实施例或下述实施例中,需要确定目标产品以及目标文档类型。可选地,在一种确定目标产品以及目标文档类型的示例性实施方式中,文档生成装置通过不同标签页来区分不同文档类型,每个标签页对应一个文档类型,并向用户提供多个标签页的访问地址,以供用户选定目标文档类型。基于此,用户可以通过访问地址请求访问多个标签页。当用户通过访问地址发出访问请求时,文档生成装置可根据用户的访问请求,向用户展示多个标签页。用户在看到多个标签页之后,可以选择需要的目标标签页,目标标签页与目标文档类型对应。基于此,文档生成装置可响应于用户从多个标签页中选择目标标签页的操作,确定目标标签页对应的文档类型为目标文档类型;以及在目标标签页上展示产品列表,以供用户从中选择目标产品;进而响应于用户从产品列表中选择目标产品的操作,确定目标产品。
在一种实现方式中,多个标签页可以实现为网页,则可以将多个标签页推送至用户侧的浏览器上,通过浏览器向用户展示多个标签页。
在另一种实现方式中,多个标签页可以实现为客户端的页面,则可以将多个标签页推送至用户侧的客户端,通过客户端向用户展示多个标签页。
在上述过程中,在响应于用户选择目标标签页的操作时,一方面可以确定目标文档类型,另一方面还需向用户展示目标标签页,并在目标标签页上展示产品列表。该产品列表中显示有支持生成目标文档类型的产品信息,以供用户从中选择目标产品。用户可以从产品列表中选择一个产品或多个产品,即目标产品可以是一个或多个产品。
在一种示例性实现方式中,产品列表可作为目标标签页的内容内嵌于目标标签页中,这样在展示目标标签页的同时会向用户展示产品列表。
在另一种示例性实现方式中,产品列表独立于目标标签页。目标标签页上包括文档导出控件,以供用户触发文档导出操作。基于此,用户可以点击该文档导出控件,于是响应于用户点击文档导出控件的操作,在目标标签页上展示产品列表。其中,产品列表可直接显示于目标标签页上,或者也可以通过浮层或小窗口显示于目标标签页上。
在上述实施例或下述实施例中,需要从目标文档类型对应的基准数据集合中,选择与目标产品包含的配置宏匹配的基准数据。一种匹配基准数据的示例性实施方式包括:将目标文档类型对应的基准数据集合中的基准数据全部导出至一列表型文件中,例如excel文件中;然后,根据目标产品包含的配置宏与基准数据的匹配情况,为列表型文件中的每个基准数据添加选中标记或未选中标记;对于与目标产品包含的配置宏匹配的基准数据,为其添加选中标记,如图1b所示的“√”;对于未与目标产品包含的配置宏匹配的基准数据,为其添加未选中标记,如图1b所示的“×”;当为每个基准数据添加选中标记或未选中标记之后,从列表型文件中,选择带有选中标记的基准数据。通过该方式可以将选择基准数据的过程可视化,或者可以将选择基准数据的结果可视化,便于文档人员校验基准数据的选择结果是否正确,以修正基准数据或配置宏,有利于进一步提高文档的正确率。
值得说明的是,理想情况下,基准数据与配置宏之间是一一对应的,但有可能存在一些特殊情况会导致基准数据与配置宏之间不完全匹配。例如,基准数据描述不准确或配置宏书写错误等情况,会导致基准数据与配置宏之间不完全匹配。在这些情况下,无法简单地为基准数据添加选中标记或未选中标记,则允许为基准数据添加待确认标记,如图1b所示,以便文档文员检查错误。
在图1b中,一级spec、二级spec和三级spec这三列下面的数据属于spec类型的基准数据;支持情况这一列下面的数据属于添加的标记结果。
在上述实施例或下述实施例中,需要根据与目标产品包含的配置宏匹配的基准数据,生成目标产品所需的文档。在一可选实施方式中,为了提高文档生成效率,可以预先设置各文档类型对应的文档模板。基于此,可以获取目标文档类型对应的文档模板,将与目标产品包含的配置宏匹配的基准数据添加至所获取的文档模板中,即可获得目标产品所需的文档。
在上述实施例或下述实施例中,在生成目标产品所需的文档过程中,需要用到配置宏集合以及目标文档类型对应的基准数据集合。其中,可以预先收集配置宏集合以及各类文档类型对应的基准数据集合。
配置宏集合的收集过程:
在初始阶段,可以确定已有产品以及已有产品包含的配置宏。在确定已有产品包含的配置宏正确的情况下,可以将已有产品包含的配置宏去重后导入配置宏集合中。或者,也可以先将已有产品的配置宏导入配置宏集合中,再做去重处理。
在后续阶段,每当有新产品出现时,可以根据新产品包含的配置宏,以增量方式更新配置宏集合。即,将新产品包含的配置宏与配置宏集合中已有配置宏进行比较,以判断新产品包含的配置宏是否全部存在于配置宏集合中;若判断结果为否,则将新产品包含的配置宏中未存在于所述配置宏集合中的配置宏添加到配置宏集合中。
另外,存在一些特殊情况,缺少配置宏,但又需要为产品生成所需的文档。例如,早期版本不存在配置宏,为了兼容历史版本,要求能够为早期版本的产品生成所需的文档。又例如,有些评测指标不需要向产品使用者发布,可能不存在对应的配置宏,但产品验证时需要,因此需要生成包括这些评测指标的文档,用来验证产品。为了解决这些特殊情况下的文档生成需求,允许用户自定义配置宏。基于此,每当用户自定义配置宏时,根据用户自定义的配置宏,以增量方式更新配置宏集合。类似地,可以将用户自定义的配置宏与配置宏集合中已有配置宏进行比较,以判断用户自定义的配置宏是否全部存在于配置宏集合中;若判断结果为否,则将用户自定义的配置宏中未存在于所述配置宏集合中的配置宏添加到配置宏集合中。
其中,通过不断更新配置宏集合,可以保证配置宏集合包含最全的配置宏,为自动、准确地生成文档提供基础。另外,通过增量方式更新配置宏集合,有利于提高更新效率,节约资源。
基准数据集合收集过程:
在初始阶段,可以确定已有产品、已有产品包含的配置宏以及与已有产品包含的配置宏匹配的基准数据。在已有基准数据正确的情况下,可以将已有基准数据去重后导入基准数据集合中。或者,也可以先将已有基准数据导入基准数据集合中,再做去重处理。
在后续阶段,每当有新产品出现时,可以根据新产品所涉及的基准数据,以增量方式更新基准数据集合。即,将新产品涉及的基准数据与基准数据集合中已有基准数据进行比较,以判断新产品涉及的基准数据是否全部包含在基准数据集合中;若判断结果为否,则将新产品涉及的基准数据中未存在于所述基准数据集合中的基准数据添加到基准数据集合中。
另外,存在一些特殊情况,缺少与配置宏对应的基准数据。例如,早期版本不存在配置宏,为了兼容历史版本,用户为早期版本的产品自定义了配置宏,则缺少相应的基准数据。又例如,对于一些基准数据,根据不同产品会有不一样的显示要求,不同产品的配置宏不同。因此,允许用户自定义基准数据,从而使基准数据与配置宏相对应。基于此,每当用户自定义基准数据时,可以根据用户自定义的基准数据,以增量方式更新基准数据集合。即,将用户自定义的基准数据与基准数据集合中已有基准数据进行比较,以判断用户自定义的基准数据是否全部存在于基准数据集合中;若判断结果为否,则将用户自定义的基准数据中未存在于所述基准数据集合中的基准数据添加到基准数据集合中。
其中,通过不断更新基准数据集合,可以保证基准数据集合包含最全的基准数据,为自动、准确地生成文档提供基础。另外,通过增量方式更新基准数据集合,有利于提高更新效率,节约资源。
在一应用场景中,假设目标产品为通信领域中的产品,例如交换机、路由器等。则可以为目标产品生成spec文档、cref文档、scg文档、mib文档、srs文档以及syslog文档中的至少一个文档。这些文档属于不同的文档类型,且对应的基准数据集合也有所不同。下面一一说明:
若目标文档类型为spec类型,则基准数据集合包括产品功能描述数据,所述目标产品所需的文档为spec文档。这里的spec文档主要表示目标产品支持的功能,或者说明目标产品有哪些功能,一般以excel文档的方式对外呈现。
若文档类型为cref类型,则基准数据集合包括产品配置命令描述数据,所述目标产品所需的文档为cref文档。这里的cref文档主要提供目标产品中对外所提供的每条命令及其参数,一般以word文档的方式对外呈现。
若目标文档类型为scg类型,则基准数据集合包括产品网络配置指导信息,所述目标产品所需的文档为scg文档。这里的scg文档主要提供目标产品针对用户实际的网络需求,根据目标产品所提供的功能,对一系列命令进行组合配置,实现用户的网络需求,例如,学生上网收费认证,教师上网免费认证等配置指导信息。
若目标文档类型为mib类型,则基准数据集合包括产品功能节点描述数据,所述目标产品所需的文档为mib文档。mib文档是tcp/ip网络管理协议标准框架的内容之一,mib文档定义了目标产品必须保存的数据项、允许对每个数据项进行的操作及其含义,即管理系统可访问的目标产品的控制和状态信息等数据变量都保存在mib文档中。
若目标文档类型为srs类型,则基准数据集合包括产品需求说明信息,所述目标产品所需的文档为srs文档。srs文档的编制是为了使用户和软件开发者双方对目标产品的初始规定有一个共同的理解,使之成为整个开发工作的基础。srs文档包含与目标产品相关的硬件、功能、性能、输入输出、接口需求、警示信息、保密安全、数据与数据库、文档和法规的要求等等。
若目标文档类型为syslog类型,则基准数据集合包括产品系统日志信息,所述目标产品所需的文档为syslog文档。这里的syslog文档主要用于记录目标产品运行过程中产生的日志记录。
在一实施例中,需要为目标产品生成spec文档。则如图2所示,spec文档的生成过程包括:
201、预先获取目标产品所属产品集合所涉及的产品功能描述数据,以形成spec基准数据集合。
根据应用场景的不同,目标产品所属产品集合也会有所不同。例如,假设某一公司采用本申请各实施例的文档生成方法来生成产品所需的文档,则该公司所有产品可以构成所述产品集合,或者该公司中与目标产品相同系列的产品可以构成所述产品集合,或者该公司中目标产品所属部门的所有产品可以构成所述产品集合,等等。
产品功能描述数据是指说明产品功能的数据,不同产品所需的产品功能描述数据会有所不同,具体差异可视产品功能之间的差异而定。一般来说,两个产品的功能差异越大,两个产品所需的产品功能描述数据的差异也就越大。
结合图1b,举例说明:“支持的帧格式ethernetii”、“千兆sfp支持百千兆光兼容,增加万兆”、“万兆sfp+口,支持千兆光纤模块”、“支持40g接口”、“支持100g”、“光模块信息显示、故障告警、诊断参数测量”、“光模块防伪”、“流控”、“支持超长帧的转发”等等都属于产品功能描述数据,是构成spec文档的最小数据单元。其中,“支持40g接口”表示目标产品支持40g接口,“光模块防伪”表示目标产品有提供光模块防伪的功能,其他类似。
可选地,可以将产品的spec文档存储在指定目录下。最开始,文档生成装置可以到指定目录下读取产品集合中的历史产品的spec文档,后续可以定期到指定目录下读取产品集合中新增产品的spec文档,每个spec文档都包括若干个产品功能描述数据。可选地,文档生成装置可以自动解析历史产品以及新增产品的spec文档,从而获得产品功能描述数据并添加至spec基准数据集合。或者,可选地,也可以手动将历史产品和新增产品的spec文档中的产品功能描述数据添加至spec基准数据集合,从而保证spec基准数据集合对产品功能描述数据的覆盖率,尽量做到覆盖所有相关的产品功能描述数据。
202、预先获取目标产品所属产品集合所涉及的最全的配置宏,形成配置宏集合。
文档生成装置一方面获取产品集合中历史产品以及新增产品的配置宏,另一方面不断获取用户自定义的配置宏,从而保证配置宏集合对配置宏的覆盖率,尽量做到覆盖所有相关的配置宏。
203、响应于用户的访问请求,向用户展示多个标签页,多个标签页中包括spec标签页。
其中,每个标签页对应一个文档类型。spec标签页对应spec文档类型。
204、响应于用户选择spec标签页的操作,向用户展示spec标签页,并在spec标签页上展示产品列表。
205、响应于用户从产品列表中选择目标产品的操作,确定目标产品。
206、判断目标产品是待发布产品还是待测试产品;若是待发布产品,则进入步骤207-209;若是待验证产品,则进入步骤210-212。
207、根据目标产品的配置宏文件,从配置宏集合中选择目标产品包含的配置宏。
208、从spec基准数据集合中,选择与目标产品包含的配置宏匹配的产品功能描述数据。
209、根据与目标产品包含的配置宏匹配的产品功能描述数据,生成待发布的spec文档,结束此次操作。
210、根据本地配置的验证使用的配置宏文件,从配置宏集合中选择验证目标产品所需的配置宏。
211、从spec基准数据集合中,选择与验证目标产品所需的配置宏匹配的产品功能描述数据。
212、根据与验证目标产品所需的配置宏匹配的产品功能描述数据,生成验证所需的spec文档,结束此次操作。
在本实施例中,预先收集spec基准数据集合和配置宏集合,当需要生成spec文档时,以配置宏集合和spec基准数据集合为基础,基于目标产品的配置宏文件以及配置宏与产品功能描述数据之间的匹配关系,可自动为产品生成spec文档,不仅效率较高,而且有利于降低文档的出错概率。
在另一实施例中,需要为目标产品生成cref文档。则如图3a所示,cref文档的生成过程包括:
301、预先获取目标产品所属产品集合所涉及的最全的产品配置命令描述数据,以形成cref基准数据集合。
关于产品集合的描述,可参见步骤201,在此不再赘述。
产品配置命令描述数据是指对产品的配置命令进行说明的数据,一般包括产品配置命令以及对应的参数。不同产品所支持的产品配置命令描述数据会有所不同,具体差异可视产品功能之间的差异而定。一般来说,两个产品的功能差异越大,两个产品所支持的产品配置命令描述数据的差异也就越大。
可选地,可以将产品的cref文档存储在指定目录下。最开始,文档生成装置可以到指定目录下读取产品集合中的历史产品的cref文档,后续可以定期到指定目录下读取产品集合中新增产品的cref文档,每个cref文档都包括若干个产品配置描述数据。可选地,文档生成装置可以自动解析历史产品和新增产品的cref文档,从而获得产品配置命令描述数据并添加至cref基准数据集合。或者,可选地,也可以手动将历史产品和新增产品的cref文档中的产品配置命令描述数据添加至cref基准数据集合,从而保证cref基准数据集合对产品配置命令描述数据的覆盖率,尽量做到覆盖所有相关的产品配置命令描述数据。
302、预先获取目标产品所属产品集合所涉及的最全的配置宏,形成配置宏集合。
文档生成装置一方面获取产品集合中历史产品以及新增产品的配置宏,另一方面不断获取用户自定义的配置宏,从而保证配置宏集合对配置宏的覆盖率,尽量做到覆盖所有相关的配置宏。
303、响应于用户的访问请求,向用户展示多个标签页,所述多个标签页包括cref标签页。
其中,每个标签页对应一个文档类型。cref标签页对应cref文档类型。
304、响应于用户选择cref标签页的操作,向用户展示cref标签页,并在cref标签页上展示产品列表。
305、响应于用户从产品列表中选择目标产品的操作,确定目标产品。
306、判断目标产品是待发布产品还是待测试产品;若是待发布产品,则进入步骤307-309;若是待验证产品,则进入步骤310-312。
307、根据目标产品的配置宏文件,从配置宏集合中选择目标产品包含的配置宏。
308、从cref基准数据集合中,选择与目标产品包含的配置宏匹配的产品配置命令描述数据。
309、根据与目标产品包含的配置宏匹配的产品配置命令描述数据,生成待发布的cref文档,结束此次操作。
310、根据本地配置的验证使用的配置宏文件,从配置宏集合中选择验证目标产品所需的配置宏。
311、从cref基准数据集合中,选择与验证目标产品所需的配置宏匹配的产品配置命令描述数据。
312、根据与验证目标产品所需的配置宏匹配的产品配置命令描述数据,生成验证所需的cref文档,结束此次操作。
其中,生成的cref文档的部分示意图如图3b所示。在图3b中示出目标产品支持的qosecn命令,该命令可打开或关闭全局ecn功能,属于目标产品支持的众多命令中的一条具体命令配置,详见图3b。
在本实施例中,预先收集cref基准数据集合和配置宏集合,当需要生成cref文档时,以配置宏集合和cref基准数据集合为基础,基于目标产品的配置宏文件以及配置宏与产品配置命令描述数据之间的匹配关系,可自动为产品生成cref文档,不仅效率较高,而且有利于降低文档的出错概率。
在又一实施例中,需要为目标产品生成scg文档。则如图4a所示,scg文档的生成过程包括:
401、预先获取目标产品所属产品集合所涉及的最全的产品网络配置指导信息,以形成scg基准数据集合。
关于产品集合的描述,可参见步骤201,在此不再赘述。
产品网络配置指导信息是指用于指导用户对产品进行网络配置的信息,例如指导用户如何配置网关、指导用户如何拨号上网等。不同产品所支持的产品网络配置指导信息会有所不同,具体差异可视产品功能之间的差异而定。一般来说,两个产品的功能差异越大,两个产品所支持的产品网络配置指导信息的差异也就越大。
可选地,可以将产品的scg文档按照统一格式编写并且存储在指定目录下。最开始,文档生成装置可以到指定目录下读取产品集合中的历史产品的scg文档,后续可以定期到指定目录下读取产品集合中新增产品的scg文档,每个scg文档都包括若干个产品网络配置指导信息。可选地,文档生成装置可以自动解析历史产品以及新增产品的scg文档,从而获得产品网络配置指导信息并添加至scg基准数据集合。或者,可选地,也可以手动将历史产品以及新增产品的scg文档中的产品网络配置指导信息添加至scg基准数据集合,从而保证scg基准数据集合对产品网络配置指导信息的覆盖率,尽量做到覆盖所有相关的产品网络配置指导信息。
402、预先获取目标产品所属产品集合所涉及的配置宏,形成配置宏集合。
文档生成装置一方面获取产品集合中历史产品以及新增产品的配置宏,另一方面不断获取用户自定义的配置宏,从而保证配置宏集合对配置宏的覆盖率,尽量做到覆盖所有相关的配置宏。
403、响应于用户的访问请求,向用户展示多个标签页,所述多个标签页包括scg标签页。
其中,每个标签页对应一个文档类型。scg标签页对应scg文档类型。
404、响应于用户选择scg标签页的操作,向用户展示scg标签页,并在scg标签页上展示产品列表。
405、响应于用户从产品列表中选择目标产品的操作,确定目标产品。
406、判断目标产品是待发布产品还是待测试产品;若是待发布产品,则进入步骤407-409;若是待验证产品,则进入步骤410-412。
407、根据目标产品的配置宏文件,从配置宏集合中选择目标产品包含的配置宏。
408、从scg基准数据集合中,选择与目标产品包含的配置宏匹配的产品网络配置指导信息。
409、根据与目标产品包含的配置宏匹配的产品网络配置指导信息,生成待发布的scg文档,结束此次操作。
410、根据本地配置的验证使用的配置宏文件,从配置宏集合中选择验证目标产品所需的配置宏。
411、从scg基准数据集合中,选择与验证目标产品所需的配置宏匹配的产品网络配置指导信息。
412、根据与验证目标产品所需的配置宏匹配的产品网络配置指导信息,生成验证所需的scg文档,结束此次操作。
其中,按照设定的scg文档模板所生成的scg文档的部分示意图如图4b所示。在图4b中,802.1x是模块名称,aaaauthorization是目标产品对外提供的众多命令中的一个命令。当敲下该命令时,该命令所提供的功能是将按用户的配置生效。例如,如果用户配置了ip地址绑定功能,当敲下该命令时,该绑定功能将生效,这样用户通过手机上网绑定ip地址之后,在全市任何一个角落都无需再登录,可以直接上网。
在本实施例中,预先收集scg基准数据集合和配置宏集合,当需要生成scg文档时,以配置宏集合和scg基准数据集合为基础,基于目标产品的配置宏文件以及配置宏与产品网络配置指导信息之间的匹配关系,可自动为产品生成scg文档,不仅效率较高,而且有利于降低文档的出错概率。
值得说明的是,在图2、图3a以及图4a所示实施例中,分别给出一类文档的生成过程,因此在预先执行的数据收集阶段,都是单独收集每个文档类型的基准数据集合的。当然,如果需要同时生成多类文档,则在预先执行的数据收集阶段,可以一并收集各文档类型的基准数据集合,而且因为同一产品共用一个配置宏结合,所以只需一个收集配置宏集合的过程即可。
最后,从商业角度来看,采用本申请实施例提供的方法自动生成产品所需的文档,可以降低文档的出错概率,进而可以减少产品使用者的投诉,提高公司的形象和口碑。另外,公司规模越大,产品越多,产品使用者越多,采用本申请实施例提供的方法自动生成产品所需的文档,其效率较高,可以减少公司在文档生成和维护方面的人员投入,节约人力成本;而且对公司的开发人员、测试人员、文档人员、售前人员、售后人员都可以采用本申请实施例提供的方法生成所需的文档,有利于提升了公司的整体的运作效率。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤104的执行主体可以为设备a;又比如,步骤101和102的执行主体可以为设备a,步骤103和104的执行主体可以为设备b;等等。
图5为本申请又一实施例提供的文档生成装置的结构示意图。如图5所示,文档生成装置包括:确定模块51、第一选择模块52、第二选择模块53以及生成模块54。
确定模块51,用于确定需要生成文档的目标产品以及需要生成的目标文档类型。
第一选择模块52,用于根据所述目标产品的配置宏文件,从配置宏集合中选择所述目标产品包含的配置宏。
第二选择模块53,用于从所述目标文档类型对应的基准数据集合中,选择与所述目标产品包含的配置宏匹配的基准数据。
生成模块54,用于根据与所述目标产品包含的配置宏匹配的基准数据,生成所述目标产品所需的文档。
在一可选实施方式中,确定模块51具体用于:
根据用户的访问请求,向所述用户展示多个标签页,每个标签页对应一个文档类型;
响应于所述用户从所述多个标签页中选择目标标签页的操作,确定所述目标标签页对应的文档类型为所述目标文档类型;以及
在所述目标标签页上展示产品列表,以供所述用户从中选择所述目标产品;
响应于所述用户从所述产品列表中选择所述目标产品的操作,确定所述目标产品。
在一可选实施方式中,所述目标标签页包括文档导出控件。确定模块51在所述目标标签页上展示产品列表时,具体用于:响应于所述用户点击所述文档导出控件的操作,在所述目标标签页上展示所述产品列表。
在一可选实施方式中,第二选择模块53具体用于:
将所述基准数据集合中的基准数据全部导出至一列表型文件中;
根据所述目标产品包含的配置宏与基准数据的匹配情况,为所述列表型文件中的每个基准数据添加选中标记或未选中标记;
从所述列表型文件中,选择带有选中标记的基准数据。
在一可选实施方式中,生成模块54具体用于:
获取所述目标文档类型对应的文档模板;
将与所述目标产品包含的配置宏匹配的基准数据添加至所述文档模板中,以获得所述目标产品所需的文档。
在一可选实施方式中,文档生成装置还包括:更新模块。
更新模块,用于每当有新产品出现时,根据所述新产品包含的配置宏,以增量方式更新所述配置宏集合;和/或,每当用户自定义配置宏时,根据所述用户自定义的配置宏,以增量方式更新所述配置宏集合。
更新模块还用于:每当有新产品出现时,根据所述新产品所涉及的与所述目标文档类型对应的基准数据,以增量方式更新所述基准数据集合;和/或,每当用户自定义与所述目标文档类型对应的基准数据时,根据所述用户自定义的与所述目标文档类型对应的基准数据,以增量方式更新所述基准数据集合。
在一可选实施方式中,所述目标文档类型为软件规格spec类型,所述基准数据集合包括产品功能描述数据,所述目标产品所需的文档为spec文档;或者
所述文档类型为命令参考cref类型,所述基准数据集合包括产品配置命令描述数据,所述目标产品所需的文档为cref文档;或者
所述目标文档类型为配置指南scg类型,所述基准数据集合包括产品网络配置指导信息,所述目标产品所需的文档为scg文档;或者
所述目标文档类型为管理信息库mib类型,所述基准数据集合包括产品功能节点描述数据,所述目标产品所需的文档为mib文档;或者
所述目标文档类型为需求规格说明书srs类型,所述基准数据集合包括产品需求说明信息,所述目标产品所需的文档为srs文档;或者
所述目标文档类型为系统日志syslog类型,所述基准数据集合包括产品系统日志信息,所述目标产品所需的文档为syslog文档。
本实施例提供的文档生成装置,可执行上述各方法实施例提供的文档生成方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的文档生成装置,以配置宏集合和基准数据集合为基础,基于目标产品的配置宏文件以及配置宏与基准数据之间的匹配关系,可自动为产品生成所需的文档,不仅效率较高,而且有利于降低文档的出错概率。
图6为本申请又一实施例提供的电子设备的结构示意图。如图6所示,所述电子设备包括存储器61和处理器62。
存储器61,主要用于存储程序,除此之外,也可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括联系人数据,电话簿数据,消息,图片,视频等。
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
处理器62与存储器61耦合,用于执行存储器61中的程序,以用于:
确定需要生成文档的目标产品以及需要生成的目标文档类型;
根据所述目标产品的配置宏文件,从配置宏集合中选择所述目标产品包含的配置宏;
从所述目标文档类型对应的基准数据集合中,选择与所述目标产品包含的配置宏匹配的基准数据;
根据与所述目标产品包含的配置宏匹配的基准数据,生成所述目标产品所需的文档。
在一可选实施方式中,处理器62在确定目标产品以及目标文档类型时,具体用于:
根据用户的访问请求,向所述用户展示多个标签页,每个标签页对应一个文档类型;
响应于所述用户从所述多个标签页中选择目标标签页的操作,确定所述目标标签页对应的文档类型为所述目标文档类型;以及
在所述目标标签页上展示产品列表,以供所述用户从中选择所述目标产品;
响应于所述用户从所述产品列表中选择所述目标产品的操作,确定所述目标产品。
在一可选实施方式中,所述目标标签页包括文档导出控件。处理器62在目标标签页上展示产品列表时,具体用于:响应于用户点击文档导出控件的操作,在目标标签页上展示产品列表。
在一可选实施方式中,处理器62在选择基准数据时,具体用于:
将所述基准数据集合中的基准数据全部导出至一列表型文件中;
根据所述目标产品包含的配置宏与基准数据的匹配情况,为所述列表型文件中的每个基准数据添加选中标记或未选中标记;
从所述列表型文件中,选择带有选中标记的基准数据。
在一可选实施方式中,处理器62在生成目标产品所需的文档时,具体用于:
获取所述目标文档类型对应的文档模板;
将与所述目标产品包含的配置宏匹配的基准数据添加至所述文档模板中,以获得所述目标产品所需的文档。
在一可选实施方式中,处理器62还用于:每当有新产品出现时,根据所述新产品包含的配置宏,以增量方式更新所述配置宏集合;和/或,每当用户自定义配置宏时,根据所述用户自定义的配置宏,以增量方式更新所述配置宏集合。
进一步,处理器62还用于:每当有新产品出现时,根据所述新产品所涉及的与所述目标文档类型对应的基准数据,以增量方式更新所述基准数据集合;和/或,每当用户自定义与所述目标文档类型对应的基准数据时,根据所述用户自定义的与所述目标文档类型对应的基准数据,以增量方式更新所述基准数据集合。
在一可选实施方式中,所述目标文档类型为spec类型,所述基准数据集合包括产品功能描述数据,所述目标产品所需的文档为spec文档;或者
所述文档类型为cref类型,所述基准数据集合包括产品配置命令描述数据,所述目标产品所需的文档为cref文档;或者
所述目标文档类型为scg类型,所述基准数据集合包括产品网络配置指导信息,所述目标产品所需的文档为scg文档;或者
所述目标文档类型为mib类型,所述基准数据集合包括产品功能节点描述数据,所述目标产品所需的文档为mib文档;或者
所述目标文档类型为srs类型,所述基准数据集合包括产品需求说明信息,所述目标产品所需的文档为srs文档;或者
所述目标文档类型为syslog类型,所述基准数据集合包括产品系统日志信息,所述目标产品所需的文档为syslog文档。
进一步,如图6所示,电子设备还包括:通信组件63、显示器64、电源组件65、音频组件66等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。