扩展模块交互的方法及系统的制作方法

文档序号:6487467阅读:117来源:国知局
扩展模块交互的方法及系统的制作方法
【专利摘要】本发明公开了一种扩展模块交互的方法及系统,包括所述应用程序枚举文档当前页面中的扩展模块数据,并根据扩展模块数据中指定的扩展模块ID,查询文档库系统中已注册的扩展模块接口,找到与该扩展模块ID相对应的扩展模块接口;应用程序或文档库系统以扩展模块数据为参数,调用扩展模块接口中负责创建扩展模块实例的扩展模块实例创建接口,以创建扩展模块实例。通过本发明提供的方案,在涉及文档库系统的应用场景中,实现了应用程序与扩展模块间的交互。通过本发明应用程序与扩展模块间的交互,实现了应用程序的用户更有效、更细粒度地操控扩展模块,以及更方便地使用控制模块提供的功能,最终实现了更有效地通过扩展模块来扩展文档库系统的功能。
【专利说明】扩展模块交互的方法及系统
【技术领域】
[0001]本发明涉及电子文档处理技术,尤指一种涉及文档库系统的应用场景中实现应用 程序与扩展模块交互的方法及系统。
【背景技术】
[0002]文档库是一种复杂的软件系统,提供大量电子文档的组织、管理、安全、存储和展 示等功能。文档库系统是一种平台软件,提供非结构化数据的存储、读写、解析、呈现、组织、 管理、安全和检索等功能,并通过标准接口供应用软件调用。该标准接口称为文档库标准接 口,该接口的标准称为文档库标准(例如UOML标准),文档库系统所存储的数据称为文档库。 文档库系统所处理的非结构化数据可能包含一页或多页组成的平面媒体信息,也可能包含 音频、视频等流媒体信息,或者包含其它信息。应用软件调用文档库系统的方式为向文档库 系统发送预定义的指令,发送指令的方式可以是发送命令串,也可以是函数调用或其它方 式。其中,所述预定义指令是与非结构化数据的存储形式(尤其是存储格式)无关的,描述了 对一种抽象模型的实例的操作,该抽象模型是对某一类型的非结构化数据的某个通用特征 (例如呈现效果)进行抽象得到的,模型实例通常是树状结构。优选地,所述预定义指令可以 基于动作和对象来定义。文档库系统通常还具备完备性,例如当所述通用特征是呈现效果 的时候,可以生成任意呈现效果的非结构化数据(忽略因为压缩、数据精度等原因而造成的 细微差别)。
[0003]扩展模块可以动态的被应用程序加载并实现独立的功能。关于扩展模块的相关技 术在本 申请人:的在先申请中已有详细介绍。
[0004]在现有文档库系统中,没有实现应用程序与扩展模块之间的交互。

【发明内容】

[0005]有鉴于此,本发明的主要目的在于提供一种在涉及文档库系统的应用场景中实现 应用程序与文档库系统的扩展模块交互的方法,能够通过应用程序与扩展模块间的交互, 实现应用程序的用户更有效、更细粒度地操控扩展模块,以及更方便地使用控制模块提供 的功能,最终更有效地通过扩展模块来扩展文档库系统的功能。
[0006]本发明的另一目的在于提供一种在涉及文档库系统的应用场景中实现应用程序 与扩展模块交互的系统,能够通过应用程序与扩展模块间的交互,实现应用程序的用户更 有效、更细粒度地操控扩展模块,以及更方便地使用控制模块提供的功能,最终更有效地通 过扩展模块来扩展文档库系统的功能。
[0007]为达到上述目的,本发明的技术方案具体是这样实现的:
[0008]一种实现应用程序与文档库系统的扩展模块交互的方法,该方法包括:
[0009]所述应用程序枚举文档当前页面中的扩展模块数据,并根据扩展模块数据中指定 的扩展模块ID,查询文档库系统中已注册的扩展模块接口,找到与该扩展模块ID相对应的 扩展模块接口 ;[0010]应用程序或文档库系统以扩展模块数据为参数,调用扩展模块接口中负责创建扩 展模块实例的扩展模块实例创建接口,以创建扩展模块实例。
[0011]该方法之后还包括:所述应用程序或文档库系统使用文档库系统中的扩展模块实 例;
[0012]当使用完成后,该方法还包括:销毁扩展模块实例。
[0013]所述应用程序使用创建好的扩展模块包括:界面交互,和/或消息交互。
[0014]所述应用程序使用创建好的扩展模块的方法为:通过所述应用程序与创建的扩展 模块窗口间的交互来实现。
[0015]在所述应用程序与扩展模块窗口交互之前还包括:所述应用程序调用扩展模块的 显示窗口接口创建扩展模块窗口 ;窗口交互之后还包括:在使用完成后所述应用程序调用 扩展模块的关闭窗口接口,关闭已创建的扩展模块窗口。
[0016]在创建扩展模块窗口之后,该方法还包括:改变扩展模块窗口的基本特征信息。
[0017]所述改变扩展模块窗口的基本特征信息的方法为:
[0018]所述应用程序调用扩展模块的消息接口,将改变后的窗口的基本特征信息发送给 扩展模块;扩展模块根据接收到的基本特征信息改变自身窗口。
[0019]所述基本特征信息包括位置和/或大小信息。
[0020]在创建扩展模块窗口之后,关闭扩展模块窗口之前,该方法还包括:
[0021]所述扩展模块调用来自应用程序的逆向消息接口向应用程序发消息。
[0022]所述向应用程序发送的消息为:改变应用程序界面的界面变更请求;
[0023]所述应用程序按照接收到的界面变更请求中的信息改变应用程序界面;
[0024]当应用程序界面使用完后,扩展模块使用应用程序的逆向消息接口,向应用程序 发送界面变更撤销请求,应用程序撤销应用程序界面的变更。
[0025]所述应用程序使用创建好的扩展模块的方法为:
[0026]所述应用程序调用消息接口,将相应信息发送给扩展模块,扩展模块按照接收到 的信息进行操作;
[0027]或者,所述应用程序调用扩展模块的消息接口,将逆向消息接口发送给扩展模块。
[0028]所述销毁扩展模块实例的方法为:所述应用程序调用当前使用的扩展模块实例对 应的扩展模块实例销毁接口销毁所述扩展模块实例。
[0029]所述扩展模块为流媒体扩展模块,该方法还包括:所述应用程序向流媒体扩展模 块发送用于控制流媒体播放的信息。
[0030]所述扩展模块为支持全局设置的特定扩展模块;该方法还包括:
[0031]所述应用程序设置与特定扩展模块交互的设置界面;用户通过设置界面,管理特 定扩展模块的全局设置;
[0032]在所述管理为用户查看全局设置时,应用程序调用扩展模块的获取全局设置的接 口,得到相关扩展模块的全局设置信息,并显示在设置界面中;
[0033]在所述管理为用户修改全局设置时,所述应用程序将调用扩展模块修改全局设置 的接口,将修改信息传递给特定扩展模块,特定扩展模块根据接收到的修改信息进行相应 改变。
[0034]一种实现应用程序与文档库系统的扩展模块交互的系统,该系统至少包括应用程序和文档库系统,其中,
[0035]应用程序,用于枚举文档当前页面中的扩展模块数据,并向文档库系统发送包含 有扩展模块ID的预定义指令;
[0036]应用程序或文档库系统以扩展模块数据为参数,调用获得的扩展模块接口中负责 创建扩展模块实例的扩展模块实例创建接口,以创建扩展模块实例;
[0037]文档库系统,用于根据接收到的预定义指令中携带的扩展模块ID,查询自身已注 册的扩展模块接口,找到与该扩展模块ID相对应的扩展模块接口并返回给应用程序。
[0038]由上述技术方案可见,本发明包括应用程序创建扩展模块实例;应用程序使用创 建好的扩展模块,并在使用完成后销毁扩展模块实例。通过本发明提供的方法,在涉及文档 库系统的应用场景中,实现了应用程序与扩展模块间的交互。通过本发明应用程序与扩展 模块间的交互,实现了应用程序的用户更有效、更细粒度地操控扩展模块,以及更方便地使 用控制模块提供的功能,最终实现了更有效地通过扩展模块来扩展文档库系统的功能。
【专利附图】

【附图说明】
[0039]图1是本发明应用程序与扩展模块交互的流程图;
[0040]图2是本发明应用程序与扩展模块交互的实施例一的流程图;
【具体实施方式】
[0041]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举较佳实施 例,对本发明进一步详细说明。
[0042]图1是本发明应用程序与扩展模块交互的流程图,包括以下步骤:
[0043]步骤100:应用程序创建扩展模块实例。
[0044]本步骤具体实现包括:
[0045]首先,应用程序枚举文档当前页面中的扩展模块数据;
[0046]这里,扩展模块数据包括扩展模块ID和扩展模块实际数据两部分。
[0047]其次,应用程序根据上述扩展模块数据中的扩展模块ID,查询文档库系统中已注 册的扩展模块接口,找到与该扩展模块ID相对应的扩展模块接口 ;
[0048]在文档库系统中,存储有扩展模块ID与扩展模块接口的对应关系。
[0049]这里,扩展模块接口的具体实现可以采用如操作系统API或其它方式来实现,具 体实现属于本领域技术人员惯用技术手段,本发明并不强调接口的具体实现方法。
[0050]最后,应用程序以扩展模块数据为参数,调用扩展模块接口中负责创建扩展模块 实例的扩展模块实例创建接口,以创建扩展模块实例。需要说明的是,扩展模块的创建也可 以由文档库系统来实现。
[0051]以扩展模块接口采用函数方式为例,将扩展模块数据作为函数参数,将扩展模块 数据传递给扩展模块接口。
[0052]步骤101:应用程序使用创建好的扩展模块实例。
[0053]使用可以包括界面交互,和/或消息交互等。需要说明的是,文档库系统也可以使 用创建好的扩展模块。
[0054]对于界面交互,会包括创建扩展模块窗口、销毁扩展模块窗口交互,还有可能包括改变扩展模块窗口大小或位置、改变应用程序界面等交互;对于消息交互,会包括使用消 息、传递逆向消息接口的交互等。
[0055]步骤102:应用程序销毁扩展模块实例。
[0056]本步骤中,应用程序通过调用当前正在使用的扩展模块实例对应的扩展模块实例 销毁接口来销毁不需要的扩展模块实例。需要说明的是,文档库系统也可以销毁创建好的 扩展模块。
[0057]对应图1所示的方法,本发明还提供一种实现应用程序与扩展模块交互的系统, 至少包括应用程序和文档库系统(即平台软件),其中,
[0058]应用程序,用于枚举文档当前页面中的扩展模块数据,并向文档库系统发送包含 有扩展模块ID的预定义指令;应用程序以扩展模块数据为参数,调用获得的扩展模块接口 中负责创建扩展模块实例的扩展模块实例创建接口,以创建扩展模块实例;
[0059]文档库系统,用于根据接收到的预定义指令中携带的扩展模块ID,查询自身已注 册的扩展模块接口,找到与该扩展模块ID相对应的扩展模块接口并返回给应用程序。
[0060]所述预定义指令是与非结构化数据的存储形式无关的。非结构化数据包括流媒体 信息,或包含书面文档信息等。预定义指令可以是描述对预定义模型的实例的操作,发送预 定义指令的方式可以是发送命令串,也可以是函数调用等等,而预定义模型是对某一类型 的非结构化数据,比如书面文档、音频、视频等的某个通用特征(如呈现效果)进行抽象得到 的。
[0061]图2是本发明应用程序与扩展模块交互的实施例一的流程图,实施例一提供了应 用程序通过界面交互来实现对创建好的扩展模块实例的使用,如图2所示包括以下步骤:
[0062]步骤200:应用程序创建扩展模块窗口。
[0063]应用程序通过调用扩展模块的显示窗口接口,创建并显示扩展模块的窗口。其中, 显示窗口接口可以通过操作系统提供的API函数实现,也可以通过自身定义的函数来实 现,具体实现属于本领域技术人员惯用技术手段,这里不再赘述,本发明需要强调的是应用 程序与扩展模块之间实现了如创建扩展模块窗口这样的交互。
[0064]步骤201:应用程序改变扩展模块窗口的基本特征信息。
[0065]在需要改变扩展模块窗口的基本特征信息时,应用程序可通过调用扩展模块的消 息接口,将新的窗口即改变后的窗口的基本特征信息如位置和/或大小信息发送给扩展模 块;扩展模块根据接收到的位置和/或大小信息改变自身窗口。这里基本特征信息不限于 位置、或大小。
[0066]其中,消息接口可以通过操作系统提供的相应API,也可以通过自身定义的函数来 实现,具体实现属于本领域技术人员惯用技术手段,这里不再赘述,本发明需要强调的是应 用程序与扩展模块之间实现了应用程序改变扩展模块窗口的特征信息如位置和/大小的 交互。
[0067]步骤202:扩展模块改变应用程序界面。
[0068]在需要改变应用程序界面时,扩展模块可通过调用应用程序的逆向消息接口,向 应用程序发送改变应用程序界面即用户界面的界面变更请求,比如:扩展模块可以请求应 用程序创建与扩展模块自身相关联的菜单、菜单项、工具条、工具条按钮等。
[0069]应用程序接收到扩展模块的界面变更请求后,按照界面变更请求的信息改变用户界面,比如,变更菜单项。工具条等。
[0070]其中,逆向消息接口是通过应用程序与扩展模块间的消息交互,由应用程序传送 给扩展模块的。消息交互流程将在下文做详细介绍。
[0071]步骤203:扩展模块销毁已改变的应用程序界面。
[0072]扩展模块使用应用程序的逆向消息接口,向应用程序发送界面变更撤销请求,以 撤销步骤202中应用程序界面的变更;应用程序接收到扩展模块的界面变更撤销请求后, 撤销步骤202中应用程序界面的变更。当然,在界面变更撤销请求中,扩展模块也可以指定 撤销部分变更。
[0073]步骤204:应用程序销毁扩展模块窗口。
[0074]应用程序通过调用扩展模块的关闭窗口接口,关闭步骤200中创建并显示的扩展 模块窗口。其中,关闭窗口接口可以通过操作系统提供的API函数,也可以通过自身定义的 函数来实现,具体实现属于本领域技术人员惯用技术手段,这里不再赘述,本发明需要强调 的是应用程序与扩展模块之间实现了如关闭扩展模块窗口这样的交互。
[0075]除了图2所示的界面交互之外,应用程序与扩展模块之间还可以进行消息交互, 包括仅使用消息的消息交互,以及逆向消息接口的交互。
[0076]其中使用消息的交互过程简单,即应用程序调用相应消息接口,并通过消息接口 提供的消息界面将相应信息发送给扩展模块,扩展模块就按照接收到的信息进行相关操作 即可。比如当应用程序需要改变扩展模块窗口的大小时,会调用消息接口来改变扩展模块 窗口的尺寸,用户按照消息接口提供的界面给出相应尺寸信息并提交给扩展模块,扩展模 块根据接收到的尺寸信息,改变自身窗口的大小。
[0077]逆向消息接口的交互过程是:应用程序通过扩展模块的消息接口,将逆向消息接 口发送给扩展模块。其中,消息接口由扩展模块提供,应用程序使用;而逆向消息接口由应 用程序提供,扩展模块使用。
[0078]以上描述了本发明应用程序与扩展模块交互的方法,对于一些特殊的扩展模块, 如流媒体扩展模块,除了可以包括上述交互外,应用程序还会向流媒体扩展模块发送用于 控制流媒体播放的信息,比如:播放时间总长、重置、定位、获得定位、播放/暂停等。
[0079]其中,对于播放时间总长,当应用程序将播放时间总长消息发送给扩展模块后,扩 展模块将当前流媒体的播放时间总长信息返回给应用程序,以便应用程序显示给用户;
[0080]当应用程序将重置消息发送给扩展模块后,扩展模块将当前流媒体的播放位置重 置至时间起始点位置;
[0081]当应用程序将定位消息发送给扩展模块后,扩展模块将当前流媒体的播放位置重 新设置在定位信息中给定的时间点上;
[0082]当应用程序向扩展模块发送获得定位消息后,扩展模块将当前流媒体的播放位置 信息返回给应用程序,以便应用程序显示给用户;
[0083]当应用程序将播放/暂停消息发送给扩展模块后,扩展模块根据接收到的信息切 换当前流媒体的播放状态,若当前为播放,则切换为暂停,若当前为暂停,则切换为播放。
[0084]这里所述的特定扩展模块即指提供与扩展模块实例无关的参数或功能设置接口 的扩展模块,这些与扩展模块实例无关的参数或功能设置接口中,包含用于获取/修改全 局设置的接口。本步骤设置的方法有两种情况:[0085]第一种情况:如果设置界面由扩展模块提供,那么,应用程序只需要调用扩展模块 的全局设置接口即可,后续操作由扩展模块自身完成;
[0086]第二种情况:如果设置界面由应用程序提供,那么,需要扩展模块提供获取/修改 全局设置的接口,另外,为了提高扩展模块接口获取到的全局设置的数据格式,应用程序应 该能够理解这些数据格式,否则就无法在界面上显示,或无法将修改后形成新的设置数据 传递给扩展模块接口。设置界面中也会包括菜单、菜单项、工具条按钮等信息。
[0087]本步骤中,所述设置界面也可以由扩展模块来实现,比如通过API或其它方式来 实现。在这种情况下,当用户需要对特定扩展模块的全局设置进行管理时,应用程序调用扩 展模块的全局设置接口,以显示设置界面。
[0088]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在 本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范 围之内。
【权利要求】
1.一种扩展模块交互的方法,其特征在于,该方法包括:所述应用程序枚举文档当前页面中的扩展模块数据,并根据扩展模块数据中指定的扩 展模块ID,查询文档库系统中已注册的扩展模块接口,找到与该扩展模块ID相对应的扩展 模块接口 ;应用程序或文档库系统以扩展模块数据为参数,调用扩展模块接口中负责创建扩展模 块实例的扩展模块实例创建接口,以创建扩展模块实例。
2.根据权利要求1所述的方法,其特征在于,该方法之后还包括:所述应用程序或文档 库系统使用文档库系统中的扩展模块实例;当使用完成后,该方法还包括:销毁扩展模块实例。
3.根据权利要求1所述的方法,其特征在于,所述应用程序使用创建好的扩展模块包 括:界面交互,和/或消息交互。
4.根据权利要求1所述的方法,其特征在于,所述应用程序使用创建好的扩展模块的 方法为:通过所述应用程序与创建的扩展模块窗口间的交互来实现。
5.根据权利要求4所述的方法,其特征在于,在所述应用程序与扩展模块窗口交互之 前还包括:所述应用程序调用扩展模块的显示窗口接口创建扩展模块窗口 ;窗口交互之后 还包括:在使用完成后所述应用程序调用扩展模块的关闭窗口接口,关闭已创建的扩展模 块窗口。
6.根据权利要求5所述的方法,其特征在于,在创建扩展模块窗口之后,该方法还包 括:改变扩展模块窗口的基本特征信息。
7.根据权利要求6所述的方法,其特征在于,所述改变扩展模块窗口的基本特征信息 的方法为:所述应用程序调用扩展模块的消息接口,将改变后的窗口的基本特征信息发送给扩展 模块;扩展模块根据接收到的基本特征信息改变自身窗口。
8.根据权利要求7所述的方法,其特征在于,所述基本特征信息包括位置和/或大小信肩、O
9.根据权利要求5所述的方法,其特征在于,在创建扩展模块窗口之后,关闭扩展模块 窗口之前,该方法还包括:所述扩展模块调用来自应用程序的逆向消息接口向应用程序发消息。
10.根据权利要求9所述的方法,其特征在于,所述向应用程序发送的消息为:改变应 用程序界面的界面变更请求;所述应用程序按照接收到的界面变更请求中的信息改变应用程序界面;当应用程序界面使用完后,扩展模块使用应用程序的逆向消息接口,向应用程序发送 界面变更撤销请求,应用程序撤销应用程序界面的变更。
【文档编号】G06F17/30GK103577448SQ201210269212
【公开日】2014年2月12日 申请日期:2012年7月31日 优先权日:2012年7月31日
【发明者】王东临 申请人:天津书生投资有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1