一种文档发布方法及装置的制造方法

文档序号:10488122阅读:149来源:国知局
一种文档发布方法及装置的制造方法
【专利摘要】本发明实施例提供一种文档发布方法及装置。方法包括:生成待发布文档;根据已发布文档,确定所述待发布文档的版本信息;将所述待发布文档和所述待发布文档的版本信息发布到服务器上。本发明可以更加全面有效的管理规范文档,以便于基于规范文档进行数据上传。
【专利说明】
一种文档发布方法及装置
技术领域
[0001]本发明实施例涉及互联网技术领域,尤其涉及一种文档发布方法及装置。
【背景技术】
[0002]在大数据环境下,越来越多的互联网应用需要通过数据仓库进行数据管理。互联网应用需要将有关数据上传至数据仓库。为了避免数据冗余或错误,数据仓库一般采用规范文档约束数据上传过程。
[0003]在现有技术中,一般采用维基(wiki)进行规范文档的管理,wiki是一种超文本系统。在wiki方案中,整个规范文档由许多wiki页组成,对规范文档的更新实际上是对规范文档中部分wiki页进行更新。
[0004]每当更新规范文档中某个wiki页时,该更新的wiki页就会生产一个新的版本,这会导致规范文档中各个wiki页存在不同的版本,而没有统一的版本,使得规范文档不可控制。对基于规范文档向数据仓库上传数据的业务线来说,可能会按照wiki页的不同版本向数据仓库上传数据,无法按照统一版本上传数据,从而导致数据仓库中发生数据混乱。由此可见,有必要提出一种能够全面有效的管理规范文档的方法,以便于基于规范文档进行数据上传。

【发明内容】

[0005]本发明的实施例提供一种文档发布方法及装置,用以更加全面有效的管理规范文档,以便于基于规范文档进行数据上传。
[0006]本发明实施例提供一种文档发布方法,包括:
[0007]生成待发布文档;
[0008]根据已发布文档,确定所述待发布文档的版本信息;
[0009]将所述待发布文档和所述待发布文档的版本信息发布到服务器上。
[0010]本发明实施例还提供一种文档发布装置,包括:
[0011]生成模块,用于生成待发布文档;
[0012]确定模块,用于根据已发布文档,确定所述待发布文档的版本信息;
[0013]发布模块,用于将所述待发布文档和所述待发布文档的版本信息发布到服务器上。
[0014]本发明实施例提供的文档发布方法及装置,在文档发布时生成其版本信息,将文档和其版本信息一同发布,这样可以保留各版本的文档,而不是像现有技术那样在规范文档中保留不同版本的wiki页,实现对文档更加全面有效的管理。另外,基于文档的版本信息,各个业务线可根据自己的需求参考指定版本的文档上传数据,数据仓库有据可依,所以不会发生数据混乱,所以采用本发明实施例便于根据所发布的文档进行数据上传。
【附图说明】
[0015]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0016]图1为本发明一实施例提供的文档发布方法的流程示意图;
[0017]图2为本发明另一实施例提供的生成待发布文档的方法的流程示意图;
[0018]图3为本发明又一实施例提供的文档发布装置的结构示意图;
[0019]图4为本发明又一实施例提供的文档发布装置的结构示意图。
【具体实施方式】
[0020]为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]针对现有技术采用Wiki进行文档管理时存在的问题,本发明实施例提供一种解决方案,主要原理是:在文档发布时生成其版本信息,将文档和其版本信息一同发布,这样可以保留各版本的文档,而不是像现有技术那样在文档中保留不同版本的wiki页,从而更加全面有效的管理文档。另外,基于文档的版本信息,各个业务线可根据自己的需求参考指定版本的文档上传数据,数据仓库有据可依,所以不会发生数据混乱,所以采用本发明技术方案便于根据所发布的文档进行数据上传。
[0022]以下结合附图,详细说明本发明各实施例提供的技术方案。
[0023]图1为本发明一实施例提供的文档发布方法的流程示意图。如图1所示,该方法包括:
[0024]101、生成待发布文档。
[0025]102、根据已发布文档,确定待发布文档的版本信息。
[0026]103、将待发布文档和待发布文档的版本信息发布到服务器上。
[0027]本实施例提供一种文档发布方法,用以对文档进行更加全面有效的管理,以便于根据所发布的文档进行数据上传。
[0028]具体的,当需要发布文档时,用户首先生成待发布文档。本实施例中的待发布文档是最小发布单元,包括至少一个信息页。例如,当原始文档中的部分信息页发生变化时,可以根据该原始文档中发生变化的信息项和未发生变化的信息项生成新文档,该新文档即为待发布文档,之后可以确定新文档的版本信息并将该新文档作为原始文档的新版本发布出去,而不是像现有技术那样仅对发生变化的信息页生成新版本重新发布,这样可以保留不同版本的文档,而不是在文档中保留不同版本的信息页。
[0029]值得说明的是,本实施例不对原始文档和待发布文档进行限定,待发布文档可以是各种应用场景中需要发布的文档。例如,待发布文档可以是数据仓库使用的规范文档,应用的补丁或插件,应用的安装包,应用或产品的说明书等等。根据待发布文档的不同,生成待发布文档的方式也会有所不同。例如,若待发布文档为应用的安装包、补丁或插件,一般为代码,则可由研发人员利用编程工具生成待发布文档;若待发布文档为应用或产品的说明书,一般是文本类型的,则可以利用文本编辑工具生成待发布文档。
[0030]在一可选实施方式中,待发布文档为数据仓库使用的规范文档,该规范文档用于规范各业务线向数据仓库上传的数据。该规范文档一般存储有需要上传到数据仓库的数据字段、上报时要求使用的数据格式、上传时机、以及一些表格的维护方式等。
[0031]在一种具体应用场景中,文档需要发布到互联网上,这要求待发布文档能够被浏览器所识别。基于此,一种生成待发布文档的方式,如图2所示,包括:
[0032]1011、生成浏览器可识别的初始文档。
[0033]1012、定义初始文档的展现形式,以生成待发布文档。
[0034]上述初始文档可以是浏览器能够识别的各种类型的文档,例如可以是超文本标记语言(Hyper Text Mark-up Language,HTML)文档、超文本预处理器(Hyper textPreprocessor,PHP)文档等。
[0035]考虑到HTML具有的各种优势,例如灵活性、易用性、代码简单清晰等,本实施例优选HTML文档作为上述初始文档。可选的,可由编程人员直接编写HTML文档。或者,也可以先编写文本文档,再将文本文档转换为HTML文档,相对于直接编写HTML文档来说,编写文本文档要简单容易,易于实现。
[0036]可选的,可以采用已有的文本编辑工具来编写上述文本文档,然后转换为HTML文档。例如,可以利用文本编辑软件Emacs中的org-mode编辑模式编写org文档。org-mode是Eemacs的一种支持内容分级显示的编辑模式,可以编写出org文档,org文档属于文本类型的文档。除此之外,org-mode还可以将org文档转换成HTML文档。使用Emacs中的org-mode来编写org文档并转换成HTML文档,比直接编写HTML文档要方便、容易,所以文档生成效率较高。另外,对于HTML文档来说,org-mode还可以引用emacs自带的层叠样式表(CascadingStyle Sheets,CSS)文档定义HTML文档的展现形式,从而提高待发布文档的可阅读性。当然,根据初始文档的不同,用于定义初始文档的展现形式的文档也会有所不同。
[0037]在本实施例中,在获得待发布文档之后,并不是像现有技术那样直接发布并利用待发布文档替换已有文档,而是根据已发布文档,确定待发布文档的版本信息,之后将待发布文档和其版本信息一同发布到服务器上。
[0038]其中,根据已发布文档,确定待发布文档的版本信息的过程包括:将待发布文档与已发布文档进行比较,判断待发布文档是否属于已发布文档;若待发布文档属于已发布文档,将已发布文档的最新版本信息增加指定版本间隔作为待发布文档的版本信息;若待发布文档不属于已发布文档,将待发布文档的版本信息设置为初始值。
[0039]其中,在上述方式中,可以将待发布文档的标识信息与已发布文档中各文档的标识信息进行比较,若在已发布文档中发现标识信息与待发布文档的标识信息相同的文档,则确定待发布文档属于已发布文档;若未在已发布文档中发现标识信息与待发布文档的标识信息相同的文档,则确定待发布文档不属于已发布文档。其中,待发布文档或已发布文档的标识信息是指可以唯一标识待发布文档或已发布文档的信息,例如可以是文档名称、ID、所属业务的标识等。对于不同版本的文档具有相同的标识信息。
[0040]另外,考虑到同一文档可能存在多个版本,不同版本使用的版本信息不同,随着文档的更新,版本信息可以按照指定版本间隔递增。所述版本间隔可以根据应用需求适应性设置,例如可以是1,但不限于I。假设版本间隔为I,则文档在每次更新后使用的版本信息都是在最新版本信息的基础上加I。当然,如果待发布文档是新文档,则可以直接设置其版本信息为初始值。所述初始值也可以根据应用需求适应性设置,例如可以是I,但不限于I。例如,若待发布文档是新文档,则可以设置其版本信息为I,如果后续该文档更新了,则更新后的文档的版本信息为2。
[0041]值得说明的是,上述确定待发布文档的版本信息的过程,可以自行编写的代码实现,也可以采用现有gitlab版本管理系统实现。
[0042]在确定待发布文档的版本信息之后,可以将待发布文档以及其版本信息发布到服务器上。优选的,可以采用持续集成方式,自动将待发布文档及待发布文档的版本信息发布到服务器上,这种方式不需要人工手动发布,有利于提高文档发布的效率和及时性。具体的,可以采用持续集成工具,例如CruiseControL,hudson,jenkins以及Continuum等,自动将待发布文档及待发布文档的版本信息发布到服务器上。
[0043]进一步,在发布待发布文档之后,生成待发布文档对应的版本发布通知消息,并将版本发布通知消息发送给文档订阅者,以便文档订阅者及时了解新发布的文档及文档的版本信息。可选的,可以在服务器上增加邮件订阅功能,基于此,可以以邮件形式,将版本发布通知消息发送给文档订阅者。
[0044]本发明实施例在文档发布时生成其版本信息,将文档和其版本信息一同发布,这样可以保留各版本的文档,而不是像现有技术那样只能保留最新版本的文档,实现对文档更加全面有效的管理。另外,基于文档的版本信息,各个业务线可根据自己的需求参考指定版本的文档上传数据,数据仓库有据可依,所以不会发生数据混乱,所以采用本发明实施例便于根据所发布的文档进行数据上传。
[0045]需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101和步骤102的执行主体可以为设备A,步骤103的执行主体可以为设备B;又比如,步骤101的执行主体可以为设备A,步骤102和步骤103的执彳丁主体可以为设备B;等等。
[0046]图3为本发明又一实施例提供的文档发布装置的结构示意图。如图3所示,该装置包括:生成模块31、确定模块32和发布模块33。
[0047]生成模块31,用于生成待发布文档。
[0048]确定模块32,用于根据已发布文档,确定待发布文档的版本信息。
[0049]发布模块33,用于将待发布文档和待发布文档的版本信息发布到服务器上。
[0050]本实施例中的待发布文档是最小发布单元,包括至少一个信息页。例如,当原始文档中的部分信息页发生变化时,可以根据该原始文档中发生变化的信息项和未发生变化的信息项生成新文档,该新文档即为待发布文档,之后可以确定新文档的版本信息并将该新文档作为原始文档的新版本发布出去,而不是像现有技术那样仅对发生变化的信息页生成新版本重新发布,这样可以保留不同版本的文档,而不是在文档中保留不同版本的信息页。
[0051]待发布文档可以是数据仓库使用的规范文档,应用的补丁或插件,应用的安装包,应用或广品的说明书等等。
[0052]值得说明的是,根据待发布文档的不同,生成待发布文档的方式也会有所不同。例如,若待发布文档为应用的安装包、补丁或插件,一般为代码,则生成模块31可以利用编程工具生成待发布文档;若待发布文档为应用或产品的说明书,一般是文本类型的,则生成模块31可以利用文本编辑工具生成待发布文档。
[0053]在一可选实施方式中,待发布文档为数据仓库使用的规范文档,该规范文档用于规范各业务线向数据仓库上传的数据。该规范文档一般存储有需要上传到数据仓库的数据字段、上报时要求使用的数据格式、上传时机、以及一些表格的维护方式等。
[0054]在一可选实施方式中,文档需要发布到互联网上,这要求待发布文档能够被浏览器所识别。基于此,生成模块31具体用于:
[0055]生成浏览器可识别的初始文档;
[0056]定义初始文档的展现形式,以生成待发布文档。
[0057]上述初始文档可以是浏览器能够识别的各种类型的文档,例如可以是HTML文档、PHP文档等。
[0058]考虑到HTML具有的各种优势,例如灵活性、易用性、代码简单清晰等,本实施例优选HTML文档作为上述初始文档。可选的,生成模块31可以直接编写HTML文档。或者,生成模块31也可以先编写文本文档,再将文本文档转换为HTML文档,相对于直接编写HTML文档来说,编写文本文档要简单容易,易于实现。
[0059]可选的,生成模块31可以采用已有的文本编辑工具来编写上述文本文档,然后转换为HTML文档。例如,生成模块31可以采用文本编辑软件Emacs中的org-mode编辑模块实现,org-mode编辑模块用于采用文本编辑软件Emacs中的org-mode编辑模式编写org文档。org-mode编辑模块是Eemacs的一种支持内容分级显示的编辑模式,可以编写出org文档,org文档属于文本类型的文档。除此之外,org-mode编辑模块还可以将org文档转换成HTML文档。使用Emacs中的org-mode编辑模块来编写org文档并转换成HTML文档,比直接编写HTML文档要方便,容易,所以文档生成效率较高。另外,对于HTML文档来说,org-mode编辑模块还可以引用emacs自带的CSS文档定义HTML文档的展现形式,从而提高待发布文档的可阅读性。当然,根据初始文档的不同,用于定义初始文档的展现形式的文档也会有所不同。
[0060]在一可选实施方式中,确定模块32具体用于:
[0061]判断待发布文档是否属于已发布文档;
[0062]若待发布文档属于已发布文档,将已发布文档的最新版本信息增加指定版本间隔作为待发布文档的版本信息;
[0063]若待发布文档不属于已发布文档,将待发布文档的版本信息设置为初始值。
[0064]可选的,确定模块32可以将待发布文档的标识信息与已发布文档中各文档的标识信息进行比较,若在已发布文档中发现标识信息与待发布文档的标识信息相同的文档,则确定待发布文档属于已发布文档;若未在已发布文档中发现标识信息与待发布文档的标识信息相同的文档,则确定待发布文档不属于已发布文档。其中,待发布文档或已发布文档的标识信息是指可以唯一标识待发布文档或已发布文档的信息,例如可以是文档名称、ID、所属业务的标识等。对于不同版本的文档具有相同的标识信息。
[0065]可选的,上述确定模块32可以采用现有gitlab版本管理系统实现,但不限于此。[ΟΟ??]在一可选实施方式中,发布模块33具体用于:
[0067]采用持续集成方式,自动将待发布文档和待发布文档的版本信息发布到服务器上。
[0068]可选的,发布模块33可以采用现有持续集成工具,例如CruiseControL,hudson,jenkins以及Continuum等实现,但不限于此。
[0069]在一可选实施方式中,如图4所示,该装置还包括:通知模块34。
[0070]通知模块34,用于在发布模块33将待发布文档和待发布文档的版本信息发布到服务器上之后,生成待发布文档对应的版本发布通知消息,并以邮件形式,将版本发布通知消息发送给文档订阅者,以便文档订阅者及时了解新发布的文档及文档的版本信息。
[0071]本实施例提供的文档发布装置,在文档发布时生成其版本信息,将文档和其版本信息一同发布,这样可以保留各版本的文档,而不是像现有技术那样在文档中保留不同版本的wiki页,实现对文档更加全面有效的管理。另外,基于文档的版本信息,各个业务线可根据自己的需求参考指定版本的文档上传数据,数据仓库有据可依,所以不会发生数据混乱,所以采用本发明实施例便于根据所发布的文档进行数据上传。
[0072]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0073]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0074]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0075]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0076]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0077]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0078]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0079]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0080]本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0081]以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
【主权项】
1.一种文档发布方法,其特征在于,包括: 生成待发布文档; 根据已发布文档,确定所述待发布文档的版本信息; 将所述待发布文档和所述待发布文档的版本信息发布到服务器上。2.根据权利要求1所述的方法,其特征在于,所述生成待发布文档,包括: 生成浏览器可识别的初始文档; 定义所述初始文档的展现形式,以生成所述待发布文档。3.根据权利要求1所述的方法,其特征在于,所述根据已发布文档,确定所述待发布文档的版本信息,包括: 判断所述待发布文档是否属于所述已发布文档; 若所述待发布文档属于已发布文档,将所述已发布文档的最新版本信息增加指定版本间隔作为所述待发布文档的版本信息; 若所述待发布文档不属于已发布文档,将所述待发布文档的版本信息设置为初始值。4.根据权利要求1所述的方法,其特征在于,所述将所述待发布文档和所述待发布文档的版本信息发布到服务器上,包括: 采用持续集成方式,自动将所述待发布文档和所述待发布文档的版本信息发布到所述服务器上。5.根据权利要求1-4任一项所述的方法,其特征在于,所述将所述待发布文档和所述待发布文档的版本信息发布到服务器上之后,还包括: 生成所述待发布文档对应的版本发布通知消息; 将所述版本发布通知消息发送给文档订阅者。6.一种文档发布装置,其特征在于,包括: 生成模块,用于生成待发布文档; 确定模块,用于根据已发布文档,确定所述待发布文档的版本信息; 发布模块,用于将所述待发布文档和所述待发布文档的版本信息发布到服务器上。7.根据权利要求6所述的装置,其特征在于,所述生成模块具体用于: 生成浏览器可识别的初始文档; 定义所述初始文档的展现形式,以生成所述待发布文档。8.根据权利要求6所述的装置,其特征在于,所述确定模块具体用于: 判断所述待发布文档是否属于所述已发布文档; 若所述待发布文档属于已发布文档,将所述已发布文档的最新版本信息增加指定版本间隔作为所述待发布文档的版本信息; 若所述待发布文档不属于已发布文档,将所述待发布文档的版本信息设置为初始值。9.根据权利要求6所述的装置,其特征在于,所述发布模块具体用于: 采用持续集成方式,自动将所述待发布文档和所述待发布文档的版本信息发布到所述服务器上。10.根据权利要求6-9任一项所述的装置,其特征在于,还包括: 通知模块,用于生成所述待发布文档对应的版本发布通知消息,并将所述版本发布通知消息发送给文档订阅者。
【文档编号】G06F17/30GK105847402SQ201610266712
【公开日】2016年8月10日
【申请日】2016年4月26日
【发明人】张甲超, 卢中阳
【申请人】乐视控股(北京)有限公司, 乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1