首页 / 将发布数据发布至不同发布主机的系统及其方法

将发布数据发布至不同发布主机的系统及其方法无效专利 发明

技术领域

[0001] 一种数据发布系统及其方法,特别是指一种将发布数据发布至不同发布主机的系统及其方法。

相关背景技术

[0002] 部落格(Web log,Blog),又称为网络日志、网志、博客等,是一种提供部落格之拥有者(一般称为「部落客(Blogger)」)在其所拥有的部落格上不定期发表新的文章、图片或影片的服务,大部分的部落客所发表的文章之内容以文字为主,仍有一些部落客专注在艺术、摄影、视频、音乐等各种主题。一般而言,部落格是由部落格主机以网页的方式提供服务,资料浏览者可以在具有多个部落格的部落格主机上浏览某个部落客所发表的文章。
[0003] 目前的部落格主机繁多,因此一个部落客可以拥有多个部落格。因为不同部落格主机上的使用者族群都不相同,若部落客需要维持与多个不同使用族群的互动,则部落客往往需要将一篇文章发布到多个部落格主机上,如此对部落客将造成不少困扰。
[0004] 综上所述,可知先前技术中长期以来一直存在相同的部落格文章需要逐一至不同部落格上建立的问题,因此有必要提出改进的技术手段,来解决此一问题。

具体实施方式

[0036] 以下将配合图式及实施例来详细说明本发明的特征与实施方式,内容足以使任何熟习相关技艺者能够轻易地充分理解本发明解决技术问题所应用的技术手段并据以实施,由此实现本发明可达成的功效。
[0037] 本发明所述的「发布数据」(包含第一发布数据以及第二发布数据)是数据发布者欲发布给浏览者观看的数据,其可以为文字、图片、影片、或其它数据格式的组合,但本发明并不以此为限。一般而言,发布数据除了包含数据发布者主要想表达的「发布内容」之外,还可以包含其它项目,如表示发布内容之主题的「发布标题」或是文章分类等,甚至也可以是发布数据被使用者发布时的「发表时间」,但发布数据所包含的项目并不以此为限。
[0038] 本发明所述的「发布界面」(包含第一发布界面以及第二发布界面)是提供数据发布者输入发布数据的使用者界面,一般而言,发布界面中包含多个输入字段,数据发布者可以在各个输入字段中输入相对应的内容,数据发布者输入到各个输入字段中的内容将组合成发布数据。
[0039] 本发明所述的「发布主机」(包含第一发布主机以及第二发布主机)是提供数据发布者上传发布数据(此上传之行为即为本发明所称之「发布」),并提供数据浏览者浏览数据发布者所上传的发布数据的服务器,数据发布者可以计算机或PDA等数字装置联机到发布主机,由以上传发布数据,浏览者同样也可以计算机或PDA/手机等数字装置联机到发布主机,借以浏览发布数据。
[0040] 发布主机通常是通过网络提供数据发布服务,一般而言,发布主机是以网页来提供数据发布的服务,也就是说,发布主机会传送网页形式的发布界面至数据发布者所使用的数字装置,执行于数字装置上的网页浏览器便将发布界面以网页的形式显示给数据发布者观看,使得数据发布者可以在发布界面中输入发布数据后,操作浏览器依据定义于网页(发布界面)中的「post」或「get」的方式,上传发布数据至发布主机。
[0041] 由上述的与发布主机相关的描述,可知本发明中所述的发布主机与习知提供数据服务之发布主机相同。本发明便是建立在习知的发布主机以及客户端(即数据发布者所使用的数字装置)的架构上,如「图1A」所示,在数据发布者在操作执行于客户端的浏览器200下载第一发布主机401所提供的第一发布界面600后,数据发布者可以操作客户端在第一发布界面600中输入第一发布数据,并通过本发明(浏览器200之外挂程序100)将第一发布数据上传至第二发布主机402。
[0042] 特别值得一提的是,本发明所述的发布主机提供数据发布服务的方式并不以网页服务为限,本发明所述的浏览器亦不以网页浏览器为限,例如发布主机也可以提供电子书上传/下载的服务,如此,本发明所述的浏览器将为电子书的阅读程序。
[0043] 以下先以「图1B」本发明所述的将发布数据发布至不同发布主机的系统架构图来说明本发明的系统运作。如「图1B」所示,本发明的系统含有事件侦测模块120、输入模块130、数据读取模块150、数据转换模块160、主机登入模块170、以及传输模块180。
[0044] 事件侦测模块120负责在浏览器200下载第一发布主机401所提供的第一发布界面600后,侦测与第一发布界面600中的特定触发元件对应的触发事件(event)是否被触发。当第一发布界面600为网页时,触发元件为网页中的元件(element),例如「」的按钮(button)、「...」的连结(link)等,而当第一发布界面600为窗口应用软件所显示之界面时,触发元件同样可以为界面中的按钮等元件。其中,与触发元件对应的触发事件包含但不限于触发元件被数据发布者点击(click)或双击(double click)或是触发元件被光标覆盖等,但本发明所述的触发元件以及触发事件都并不以此为限。
[0045] 输入模块130负责于事件侦测模块120侦测出触发元件被触发后,提供输入第二发布主机402的主机信息以及与第二发布主机402对应的使用者识别数据。
[0046] 输入模块130提供输入的主机信息至少包含可以让本发明联机到第二发布主机402的联机数据,联机数据包含但不限于第二发布主机402所使用的网络地址(IP address)或网域名称(Domain Name)等,凡可以提供本发明与第二发布主机402建立联机的数据都属于本发明所述的联机数据。事实上,主机信息还可以让数据发布者辨识第二发布主机402的主机识别数据,主机识别数据通常为第二发布主机402的名称,或是部落格名称,但本发明所提的主机识别数据并不以此为限。
[0047] 输入模块130提供输入之与第二发布主机402对应的使用者识别数据通常为使用者在第二发布主机402所登录的数据,包含但不限于数据发布者在第二发布主机402所使用之账号及/或密码等。本发明可以使用与第二发布主机402对应的使用者识别数据登入(login)第二发布主机402。
[0048] 数据读取模块150负责读取被输入至浏览器200所下载的第一发布界面600中的第一发布数据。数据读取模块150会由第一发布界面600中的各个第一输入字段读出相对应的内容。在实务上,为了减低执行本发明的客户端的负载,数据读取模块150通常会在于事件侦测模块120侦测出触发元件被触发后,才读取第一发布数据,但本发明并不以此为限。
[0049] 数据转换模块160负责将数据读取模块150由第一发布界面600中所读出的第一发布数据的格式以及内容转换为与第二发布主机所提供的第二发布界面对应的第二发布数据。
[0050] 数据转换模块160会将数据读取模块150由第一发布界面600中的各第一输入字段读出的内容以预定的格式记录为中间数据,借以通过预定的格式将第一发布数据转换为中间数据后,再将中间数据所记录的各内容设定至第二发布主机402提供上传发布数据的第二发布界面中的各第二输入字段中,借以将中间数据转换为第二发布数据300,也就是说,数据转换模块160会先将第一发布数据转换为预定格式的中间数据,再将中间数据转换为第二发布数据300。一般而言,中间数据的预定格式为XML格式,但本发明并不以此为限。其中,数据转换模块160会使用预存的第二输入字段的字段名称或相对应的提示说明等字段信息来取得第二发布界面中的各个第二输入字段,但本发明并不以此为限。
[0051] 事实上,数据转换模块160转换第一发布数据为第二发布数据300的方式并不以通过中间数据为限,例如,数据转换模块160也可以直接依据第一发布界面600中各第一输入字段以及第二发布界面中各第二输入字段的对应关系,将第一输入字段中的内容设定到第二输入字段中,借以将第一发布数据转换为第二发布数据。其中,例如第一发布界面600与第二发布界面都为网页,当表示第一输入字段与第二输入字段的HTML语法都包含「<...name=″subject″...>」时,第一输入字段与第二输入字段具有对应关系,但第一输入字段与第二输入字段的对应关系并不以此为限,其它方式例如可以依据第一输入字段所对应的提示字符串以及第二输入字段所对应的提示字符串建立对应关系。
[0052] 主机登入模块170负责在第二发布主机402需要登入才提供数据发布服务时,先依据与第二发布主机402对应的使用者识别数据,通过传输模块180登入第二发布主机402,使得传输模块180可以在主机登入模块170登入第二发布主机402后,将第二发布数据上传至第二发布主机402。
[0053] 传输模块180负责将数据转换模块160转换产生的第二发布数据传送至第二发布主机402。
[0054] 此外,本发明更可以附加储存模块101、元件建立模块110、界面剖析模块140以及触发模块190。
[0055] 储存模块101负责储存第二发布主机402的主机信息。如此,输入模块130可以下拉式选单或是清单列表的方式显示储存于储存模块101中的主机信息所包含的主机识别数据,藉以提供数据发布者以点选主机识别数据的方式选择第二发布主机。一般而言,储存模块101所储存的主机信息系由开发者预先建立,但本发明并不以此为限。
[0056] 元件建立模块110可以在浏览器200至第一发布主机401下载第一发布界面600后,浏览器200显示所下载的第一发布界面600前,在第一发布界面600中加入显示触发元件之语法以及致能对应触发元件的触发事件的程序代码,如此,在浏览器200显示第一发布界面600时,元件建立模块110所建立的触发元件也会被显示在浏览器200中。也就是说,事件侦测模块120所侦测的触发事件所对应的触发元件将不一定是第一发布界面600中的元件,也可以是元件建立模块110所建立的元件。
[0057] 当第一发布界面600为网页的形式时,元件建立模块110可以将显示触发元件的语法以及致能对应触发元件的触发事件的程序代码,如「」的HTML语法,写入第一发布界面600的原始码中,借以在如「图2B」所示的第一发布界面600中建立触发元件621。其中,「onclick」即为与触发元件对应的触发事件,函式「exportArticle()」则为触发事件被触发后,将被浏览器200或外挂程序100所执行的程序代码。事实上,元件建立模块110在第一发布界面600中建立触发元件的方式并不以此为限,元件建立模块110也可以在第一发布界面600的原始码中写入包含触发元件之浮动窗口的语法等。
[0058] 界面剖析模块140负责由第二发布主机402所提供的第二发布界面中剖析出各第二输入字段,界面剖析模块140可以在传输模块180依据输入模块130提供输入的主机信息联机到第二发布主机402下载第二发布主机402所提供的第二发布界面后,剖析第二发布界面,借以取得第二发布界面中的各个第二输入字段。
[0059] 若第二发布界面为网页的形式,界面剖析模块140可以使用文件对象模型(Document Object Model,DOM)的技术,访问(traverse)第二发布界面中的所有的元件,借以剖析出所有的第二输入字段,但界面剖析模块140剖析第二发布界面的方式并不以此为限,例如界面剖析模块140也可以由第二发布界面之原始码中搜寻出包含「」、「...」等输入元件之HTML语法的方式,剖析出所有的第二输入字段。
[0060] 触发模块190负责在事件侦测模块120侦测出触发元件被触发后,触发浏览器200传送第一发布数据至第一发布主机401,使得第一发布数据被发布到第一发布主机401。
[0061] 接着以一个实施例来解说本发明的运作系统与方法,并请参照「图3A」本发明所述的将发布数据发布至不同发布主机的方法流程图。在本实施例中,假设第一发布主机401以及第二发布主机402都为部落格主机,则浏览器200将为网页浏览器,但第一发布主机401、第二发布主机402以及浏览器200并不以此为限。
[0062] 若数据发布者欲使用本发明,则数据发布者需要在网页浏览器上安装包含本发明的外挂程序100。在数据发布者安装包含本发明的外挂程序100后,当数据发布者操作网页浏览器(浏览器200)向第一发布主机401发出下载第一发布数据之网页(第一发布界面600)的请求后,第一发布主机401会传回其所提供的第一发布界面600给请求之网页浏览器。假设本实施例的第一发布界面600如「图2A」所示,但本发明并不以此为限。
[0063] 在网页浏览器接收到第一发布界面600并显示第一发布界面600后,事件侦测模块120会开始侦测与触发元件622对应的触发事件是否被触发(步骤522)。假设在本实施例中,触发元件622为按键「确定」,事件侦测模块120所侦测的触发事件为相对应的触发元件622被数据发布者点击,若数据发布者在第一发布界面600中完成第一发布数据的输入后,欲将输入的第一发布数据发布,则数据发布者会点击触发元件622。如此,事件侦测模块120会侦测出对应触发元件622的触发事件被数据发布者触发。
[0064] 若本发明包含元件建立模块110,则在网页浏览器接收到第一发布界面600之后,显示第一发布界面600之前,元件建立模块110会在第一发布界面600中建立触发元件621(步骤510)。假设在本实施例中,元件建立模块110会在第一发布界面600的原始码中写入触发元件621的HTML语法「」,使得在触发元件621被建立后,网页浏览器所显示出的第一发布界面600如「图2A」所示,如此,事件侦测模块120将会侦测对应触发元件621的触发事件(如触发元件621被单击)是否被数据发布者触发(步骤522)。
[0065] 在事件侦测模块120侦测出触发事件被触发后,输入模块130会提供数据发布者输入第二发布主机402的主机信息以及与第二发布主机402对应的使用者识别数据(步骤530)。假设在本实施例中,数据发布者通过输入模块130所输入的第二发布主机402的主机信息为「www.invblog.com」,但本发明所提的主机信息并不以此为限;数据发布者所输入的使用者识别数据包含账号与密码,分别为「YCYF」以及「413&28」,但本发明所提的使用者识别数据亦不以此为限。
[0066] 事实上,若包含本发明的外挂程序100包含储存模块101,则在外挂程序100在被安装时,储存第二发布主机402的主机信息的储存模块101也会与其它模块一同被安装到执行网页浏览器的客户端上(步骤501),如此,输入模块130便可以由储存模块101中读出主机信息,例如主机识别数据与联机数据分别为「invblog」与「www.invblog.com」以及「otherblog」与「www.otherblog.com」的两笔主机信息,借以让数据发布者以点击主机识别数据的方式,提供数据发布者选择第二发布主机402。假设数据发布者点击的主机识别数据为「invblog」。
[0067] 在输入模块130提供数据发布者选择第二发布主机402(步骤541)后,数据读取模块150会读取数据发布者输入至第一发布界面600的第一发布数据(步骤550)。若第一发布界面600如「图2A」或「图2B」所示,包含「文章标题」、「文章内容」以及「文章分类」三个输入字段,则数据读取模块150会读出被输入到「文章标题」、「文章内容」以及「文章分类」三个第一输入字段的内容,假设分别为「同步测试」、「使用外挂测试同时上传网志」以及「未分类」。其中,由于本发明为网页浏览器的外挂程序100,因此数据读取模块150可以使用嵌入至第一发布界面600之原始码中的「xmlGetCurrentBlogInterface()」等函式,或是通过网页浏览器存取第一发布界面600中的第一发布数据。
[0068] 在数据读取模块150读取第一发布数据(步骤550)后,数据转换模块160会转换第一发布数据为第二发布数据(步骤560)。
[0069] 在本实施例中,假设数据转换模块160是通过XML格式的中间数据来将第一发布数据转换为第二发布数据,则数据转换模块160会如「图3B」所示的流程,先将数据读取模块150依据第一发布界面600的第一输入字段所读出的第一发布数据转换为中间数据(步骤561),也就是说,数据转换模块160会将内容为「同步测试」的「文章标题」、「使用外挂测试同时上传网志」的「文章内容」以及「未分类」的「文章分类」三个第一输入字段的内容分别写入中间数据700中,使得中间数据700如「图4」所示,但本发明所述的中间数据的形式以及所使用的标签并不以此为限。
[0070] 在数据转换模块160产生中间数据700后,会依据第二发布界面中的第二输入字段将中间数据700转换为第二发布数据(步骤562)。假设若第二发布界面包含「文章标题」、「文章内容」、「发布时间」三个第二输入字段,则数据转换模块160会由中间数据700中读出「subject」标签的数据「同步测试」,并将「同步测试」设定至第二发布界面的第二输入字段「文章标题」中,同样的,「content」标签的数据「使用外挂测试同时上传网志」以及「date」标签的数据「2009/9/10 13:08」也会分别被数据转换模块160设定到第二发布界面的第二输入字段「文章内容」以及「发布时间」中,藉以将第一发布数据转换为第二发布数据。
[0071] 若本发明包含界面剖析模块140,则如「图3B」的流程所示,在数据转换模块160将第一发布数据转会为第二发布数据(步骤560)之前,界面剖析模块140会先通过传输模块180下载第二发布主机402所提供的第二发布界面(步骤541),再由第二发布界面中剖析出第二输入字段(步骤545),也就是说,传输模块180会依据输入模块130提供输入的主机信息,联机到第二发布主机402下载第二发布主机402所提供的第二发布界面,而后,界面剖析模块140会使用文件对象模型的技术或是至原始码中搜寻输入元件之HTML语法等方式剖析第二发布界面,藉以取得第二发布界面中的各个第二输入字段。
[0072] 在数据转换模块160转换第一发布数据为第二发布数据(步骤560)后,主机登入模块170会依据主机信息通过传输模块180联机到第二发布主机402,并通过传输模块180传送与第二发布主机402对应的使用者识别数据至第二发布主机402,藉以登入第二发布主机402(步骤570)。
[0073] 事实上,主机登入模块170依据主机信息及使用者识别数据登入第二发布主机402(步骤570)以及数据转换模块160将数据读取模块150所读出的第一发布数据转换为第二发布数据(步骤550、560)并没有先后顺序的关系,也就是说,在输入模块130提供输入第二发布主机402的主机信息以及与第二发布主机402对应的使用者识别数据(步骤530)后,主机登入模块170可以先依据主机信息及使用者识别数据登入第二发布主机
402(步骤570),接着才由数据转换模块160将数据读取模块150所读出的第一发布数据转换为第二发布数据(步骤550、560)。
[0074] 在数据转换模块160将第一发布数据转换为第二发布数据(步骤560)以及主机登入模块170依据主机信息及使用者识别数据登入第二发布主机402(步骤570)后,传输模块180便会依据输入模块130提供输入的主机信息「www.invblog.com」,传送第二发布数据至第二发布主机402(步骤580),第二发布主机402会将第二发布数据储存在与接收到的使用者识别数据相对应的储存空间中,如此,数据发布者使用本发明便可以在第一发布界面600中完成第二发布数据的发布,而不需要在联机到第二发布主机后输入与第一发布数据相同或相似的第二发布数据。
[0075] 综上所述,可知本发明与先前技术之间的差异在于具有侦测第一发布主机401所提供的第一发布界面600中的触发元件被触发后,转换被输入至第一发布界面600中的第一发布数据为对应第二发布主机402所提供的第二发布界面的第二发布数据300,并将第二发布数据300发布至第二发布主机402的技术手段,借由此一技术手段可以来解决先前技术所存在相同的部落格文章需要逐一至不同部落格上建立的问题,进而达成可将发布数据发布至多个发布主机的技术功效。
[0076] 上述的实施例中,若还包含附加的触发模块190,则在传输模块180传送第二发布数据300至第二发布主机402(步骤580)之后或同时,触发模块190会触发浏览器200传送第一发布数据至第一发布主机401(步骤590),假设触发模块190会触发按键「确定」(触发元件622)被点击后所需执行的程序开始执行,例如与按键「确定」对应的函式「onclick()」,使得浏览器200如习知一般,以第一发布界面600中所定义的传送方式,如「post」的方式,传送第一发布数据至第一发布主机401。
[0077] 再者,本发明之将发布数据发布至不同发布主机的方法,可实现于硬件、软件或硬件与软件的组合中,亦可在计算机系统中以集中方式实现或以不同元件散布于若干互连的计算机系统的分散方式实现。
[0078] 虽然本发明所提供的实施方式如上,惟所述之内容并非用以直接限定本发明之专利保护范围。任何本发明所属技术领域中具有通常知识者,在不脱离本发明所提供的精神和范围的前提下,对本发明之实施的形式上及细节上作些许之更动润饰,均属于本发明之专利保护范围。本发明之专利保护范围,仍须以所附之申请专利范围所界定者为准。

当前第1页 第1页 第2页 第3页
相关技术
主机系统相关技术
发布不同相关技术
邱全成发明人的其他相关专利技术