文档库系统技术方案

技术编号:9667763 阅读:119 留言:0更新日期:2014-02-14 06:03
本发明专利技术公开了一种文档库系统,包括,以进程间通信的方式接收来自文档应用程序的文档处理指令;根据所述文档处理指令处理文档;将处理结果通过所述进程间通信方式返回给文档应用程序。本发明专利技术实施例能够解决全局性数据共享访问问题,进而保证文档处理系统的稳定性、安全性和持久性。

【技术实现步骤摘要】
文档库系统
本专利技术涉及文档库技术,尤指一种文档库系统。
技术介绍
文档库系统是一种平台软件,提供非结构化数据的存储、读写、解析、呈现、组织、管理、安全和检索等功能,并通过标准接口供应用软件调用。该标准接口称为文档库标准接口,该接口的标准称为文档库标准(例如UOML标准),文档库系统所存储的数据称为文档库。文档库系统所处理的非结构化数据可能包含一页或多页组成的平面媒体信息,也可能包含音频、视频等流媒体信息,或者包含其它信息。应用软件调用文档库系统的方式为向文档库系统发送预定义的指令,发送指令的方式可以是发送命令串,也可以是函数调用或其它方式。其中,所述预定义指令与非结构化数据的存储形式(尤其是存储格式)无关,而是描述了对一种抽象模型的实例的操作,该抽象模型是对某一类型的非结构化数据的某个通用特征(例如呈现效果)进行抽象得到的,模型实例通常是树状结构。优选地,所述预定义指令可以基于动作和对象来定义。文档库系统通常还具备完备性,例如当所述通用特征是呈现效果的时候,可以生成任意呈现效果的非结构化数据(忽略因为压缩、数据精度等原因而造成的细微差别)。图1是现有技术中文档处理系统的总体架构示意图。如图1所示,该文档处理系统包括文档应用程序、编程接口以及文档库系统。其中,文档应用程序为遵循文档库标准访问文档的应用软件。文档库系统用于实现文档库标准并为文档应用程序提供文档访问服务。文档应用程序通过调用编程接口的方式访问文档库系统。这里编程接口是可以被文档应用程序直接调用的、通用程序设计语言形式的应用编程接口,通常以函数库的形式被链接到文档应用程序中。文档库系统的功能包括:完成文档库接口标准与通用程序设计语言形式的函数调用之间的相互转换,并完成与文档进行互操作的底层实现。从图1所示的现有文档处理系统的总体架构可见,文档应用程序采用的是编程接口直接调用文档库系统的方式,以在文档应用程序与文档库系统间交换数据,且编程接口和文档库系统皆以动态链接库的形式与文档应用程序共享进程空间。然而由于在实际过程中很难预见或估计到文档应用程序会以怎样的方式访问文档库系统,由此就带来了全局性数据共享访问问题,并且该问题将成为文档库系统长期维护性开发的瓶颈。特别是在多线程多实例并发的情况下,这方面的问题表现得尤为突出。为了从根本上解决上述瓶颈问题,目前,其中一种做法是将文档库系统中的全局性数据全部局部化,但在现有条件下,这种做法的开发成本是难以估量的。另一种做法是采用诸如信号量(Semaphore)、临界区(Critical Section)等所谓线程化工具,虽然这样可以在一定程度上解决部分全局数据的稳定性和安全性问题,但有关持久性的问题仍然不能从根本上获得解决。更为重要的是,无论采用上述哪种方法,文档库系统都会变得越来越难以维护。为此,急需另一种解决方案来解决全局性数据共享访问问题。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种文档库系统,以解决全局性数据共享访问问题,进而保证文档处理的稳定性、安全性和持久性。为达到上述目的,本专利技术的技术方案具体是这样实现的:—种文档库系统,包括:以进程间通信的方式接收来自文档应用程序的文档处理指令;根据所述文档处理指令处理文档;将处理结果通过所述进程间通信方式返回给文档应用程序。其中,所述进程间通信的方式是采用命名管道的方式。其中,所述文档库系统包括:文档服务模块,用于创建命名管道;在文档应用程序建立与命名管道连接后,接收来自文档应用程序的所述文档处理指令;将处理结果通过所述命名管道返回给文档应用程序;文档处理模块,用于接收由文档服务模块转发的文档处理指令,并将自身处理后的处理结果返回文档服务模块。其中,所述文档库系统通过接口适配器与所述文档应用程序交互,其中,所述接口适配器,用于接收来自文档应用程序的加载文档服务模块请求,并根据加载文档服务模块请求中的参数构建启动命令行,创建不少于一个文档服务模块;在文档服务模块建立命名管道后,通过该命名管道将来自文档应用程序的文档处理指令发送至文档服务模块并将来自文档服务模块的处理结果转发至文档应用程序。其中,进一步包括:接口适配器,用于接收来自文档应用程序的加载文档服务模块请求,并根据加载文档服务模块请求中的参数构建启动命令行,创建不少于一个文档服务模块;在文档服务模块建立命名管道后,通过该命名管道将来自文档应用程序的文档处理指令发送至并将文档服务模块来自文档服务模块的处理结果转发至文档应用程序。其中,所述接口适配器通过编程接口与所述文档应用程序交互;其中,所述编程接口,用于被文档应用程序直接调用,并将调用的接口函数转换为文档处理指令或文档服务模块请求发送接口适配器,通过接口适配器接收处理结果,将处理结果转换为通用程序设计语言函数返回值的形式后,返回给文档应用程序。其中,所述文档服务模块,进一步用于对从命名管道中获得的文档处理指令初步解析,决定接收到的文档处理指令是自身处理还是交由文档处理模块处理;处理由自身处理的文档处理指令;将由文档处理模块处理的文档处理指令转发给文档处理单元。其中,所述文档服务模块进一步用于在进程结束前卸载文档处理模块,释放包括命名管道在内的所有已分配资源。其中,接口适配器与文档服务模块之间、以及文档服务模块与文档处理模块之间均采用文档库接口标准。其中,所述编程接口是通用程序设计语言形式的应用编程接口,以函数库的形式链接到文档应用程序中。其中,文档应用程序与文档服务模块之间采用传值、传指针或者共享内存的方式传递数据。其中,所述文档服务模块为文档服务进程。由上述技术方案可见,由于本专利技术的文档库系统由进程构成,这样,文档库系统可以通过进程建立的命名管道来与文档应用程序进行信息交互,避免了文档应用程序直接调用文档驱动,解决由于全局性数据共享访问方面的问题,能够对文档库系统及其底层模块中的全局对象提供全面而彻底的保护,进一步保证系统的稳定性、安全性和持久性。【附图说明】图1是现有技术中文档处理系统的总体架构示意图;图2是本专利技术中文档处理系统的总体架构示意图;【具体实施方式】为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术进一步详细说明。本专利技术实施例提供的文档库系统,以进程间通信的方式接收来自文档应用程序的文档处理指令;根据所述文档处 理指令处理文档;将处理结果通过所述进程间通信方式返回给文档应用程序。下面将通过说明文档处理系统中文档库系统和文档应用程序的交互过程来更好地说明本专利技术实施例提供的文档库系统的功能。图2是本专利技术实施例提供的文档处理系统的结构示意图。如图2所述,该文档处理系统包括:文档应用程序、编程接口以及文档库系统,文档应用程序通过调用编程接口访问文档库系统。其中,文档库系统包括:接口适配器、文档服务模块、文档处理模块。其中,该文档处理模块的功能为现有技术中文档库系统的功能。文档应用程序为访问文档的应用程序,其遵循文档库标准,用于直接调用编程接口,将不同编程接口函数的调用转换为相应的请求,并发送请求至编程接口,接收来自编程接口的通用程序设计语言函数返回值。编程接口,用于将来自文档应用程序的请求发送给接口适配器;通过接口适配器接收处理结果,将其转换为通用程序设计语言函数返回值的形式后,本文档来自技高网
...

【技术保护点】
一种文档库系统,其特征在于,包括:以进程间通信的方式接收来自文档应用程序的文档处理指令;根据所述文档处理指令处理文档;将处理结果通过所述进程间通信方式返回给文档应用程序。

【技术特征摘要】
1.一种文档库系统,其特征在于,包括: 以进程间通信的方式接收来自文档应用程序的文档处理指令; 根据所述文档处理指令处理文档; 将处理结果通过所述进程间通信方式返回给文档应用程序。2.根据权利要求1所述的文档库系统,其特征在于,所述进程间通信的方式是采用命名管道的方式。3.根据权利要求2所述的文档库系统,其特征在于,所述文档库系统包括: 文档服务模块,用于创建命名管道;在文档应用程序建立与命名管道连接后,接收来自文档应用程序的所述文档处理指令;将处理结果通过所述命名管道返回给文档应用程序; 文档处理模块,用于接收由文档服务模块转发的文档处理指令,并将自身处理后的处理结果返回文档服务模块。4.根据权利要求3所述的文档库系统,其特征在于,所述文档库系统通过接口适配器与所述文档应用程序交互,其中, 所述接口适配器,用于接收来自文档应用程序的加载文档服务模块请求,并根据加载文档服务模块请求中的参数构建启动命令行,创建不少于一个文档服务模块;在文档服务模块建立命名管道后,通过该命名管道将来自文档应用程序的文档处理指令发送至文档服务模块并将来自文档服务模块的处理结果转发至文档应用程序。5.根据权利要求3所述的文档库系统,其特征在于,进一步包括: 接口适配器,用于接收来自文档应用程序的加载文档服务模块请求,并根据加载文档服务模块请求中的参数构建启动命令行,创建不少于...

【专利技术属性】
技术研发人员:王东临
申请(专利权)人:天津书生投资有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1