CN101131695B - 一种文档库系统及其实现方法 - Google Patents

一种文档库系统及其实现方法 Download PDF

Info

Publication number
CN101131695B
CN101131695B CN200610126538A CN200610126538A CN101131695B CN 101131695 B CN101131695 B CN 101131695B CN 200610126538 A CN200610126538 A CN 200610126538A CN 200610126538 A CN200610126538 A CN 200610126538A CN 101131695 B CN101131695 B CN 101131695B
Authority
CN
China
Prior art keywords
executive plan
algorithm
executive
plan
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200610126538A
Other languages
English (en)
Other versions
CN101131695A (zh
Inventor
郭旭
王东临
Original Assignee
BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY Co Ltd
Priority to CN200610126538A priority Critical patent/CN101131695B/zh
Priority to PCT/CN2007/070476 priority patent/WO2008025281A1/zh
Priority to JP2009525902A priority patent/JP2010501948A/ja
Priority to EP07800952A priority patent/EP2058742A4/en
Publication of CN101131695A publication Critical patent/CN101131695A/zh
Priority to US12/391,495 priority patent/US8312008B2/en
Application granted granted Critical
Publication of CN101131695B publication Critical patent/CN101131695B/zh
Priority to US13/645,382 priority patent/US20130031085A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种文档库系统,包括解释器、计划器、优化器、执行器和存储模块。其中解释器将应用程序调用转换为中间形式,计划器将中间形式转换为执行计划,优化器负责从计划器生成的执行计划集合中选择一个最优执行计划,而执行器负责选中执行计划的执行调度,存储模块负责执行对物理存储的操作。由于本发明的文档库系统不同层的实现可以相对独立,从而使其具有可扩展、可伸缩和可维护性。而优化器可以从多个执行计划中选出一个最优的执行计划,从而使整个文档库系统具有高性能。

Description

一种文档库系统及其实现方法
技术领域
本发明涉及电子文档处理系统,特别涉及一种文档库系统及其实现方法。
背景技术
文档库系统提供对大量文档的组织、管理、安全、展示、存储等诸方面的功能。在本申请人在先提交的申请号为CN200510131072.0的基础专利申请说明书中提供了一种包括文档库系统、存储器、应用软件的文档处理系统,其中,文档库的数据存储在存储器中,文档库系统和应用软件通过一种标准调用接口连接起来,该标准调用接口根据预先定义的动作和对象而定义。应用软件对文档的操作都统一成对一种预定义的通用文档模型进行的操作,并通过该标准调用接口向文档库系统发出指令,文档库系统按照应用软件的指令,对存储在存储器中的文档库执行相应的操作。
由于文档库系统涉及了大量的逻辑概念和操作,需要对大量功能提供支持,所以一般情况下,文档库系统要做到好的可扩展、可伸缩和可维护性是相当困难的。如果不从架构上解决该问题,那最后实现的文档库系统,无法作到较好的可扩展、可伸缩和可维护性。
发明内容
本发明的目的在于提供一种文档库系统,该系统具有可扩展、可伸缩和可维护性。
本发明提供的一种文档库系统,包括解释器、计划器、执行器和存储模块,其中,
解释器用于接收应用程序调用并将其解析为由通用文档模型的对象或逻辑操作构成的中间形式;
计划器用于接收中间形式并将其解析为由对物理存储的操作构成的执行计划;
执行器用于调度存储模块执行执行计划中对物理存储的操作;
存储模块用于执行构成执行计划的对物理存储的操作。
本发明提供的文档库系统还进一步包括优化器,用于从计划器生成的执行计划中根据判断条件选择最优执行计划。
更进一步,本发明提供的文档库系统中的优化器用于对计划器生成的执行计划进行执行计划空间搜索,并根据上述判断条件获得优化的执行计划。
其中,上述的应用程序调用为XML形式或者符合LALR语法的自定义形式。
上述的的中间形式为语法树或文档对象模型树。
上述的存储模块支持对逻辑分区或物理磁盘或虚拟存储或内存的物理存储操作。而虚拟存储为远程存储或网络存储。远程存储包括网络文件系统或分布式文件系统,网络存储包括存储区域网络或网格或对等方式的存储。
上述的判断条件为经验规则、执行计划的时间成本或空间成本或时间和空间成本的结合。
从上述技术方案可以看出,本发明将文档库系统的实现分为多层。由于不同层的实现可以相对独立,从而使本发明提供的文档库系统具有可扩展、可伸缩和可维护性。通过本发明提供的优化器,可以从多个执行计划中选出一个最优的执行计划,提高执行的性能,从而使整个文档库系统的性能提高。而对初始执行计划的局部优化,使选出的最优执行计划成本更低,从而进一步提高整个文档库系统的性能。
本发明的另一目的在于提供一种文档库系统的实现方法,使通过该方法实现的系统具有可扩展、可伸缩和可维护性。
本发明提供的一种文档库系统的实现方法,包括如下步骤:
步骤1,将应用程序调用解析为由通用文档模型的对象或逻辑操作构成的中间形式;
步骤2,将中间形式解析为由对物理存储的操作构成的执行计划;
步骤3,调度由对物理存储的操作构成的执行计划,执行构成执行计划的对物理存储的操作。
其中步骤2包含如下步骤:
步骤21,将由通用文档模型的对象或操作构成的中间形式解析为对应的多个执行计划;
步骤23,从多个执行计划中根据判断条件选择一个最优的执行计划。
进一步,在步骤21和步骤23之间包含如下步骤:
对生成的执行计划进行执行计划空间搜索,并根据所述判断条件获得优化的执行计划。其中,采用的搜索算法为遗传算法、演化算法、模拟退火算法、分支定界算法、爬山算法、启发式算法、人工神经网络算法或动态编程算法。
其中上述的应用程序调用为XML形式或者符合LALR语法的自定义形式。中间形式为语法树或文档对象模型树。判断条件为经验规则、执行计划的时间成本或空间成本或时间和空间成本的结合。
而步骤23中选择最优执行计划的算法包括基于经验规则优先级的算法或基于经验规则赋权的算法。
从上述技术方案可以看出,通过上述方法实现的文档库系统,在各个步骤间的接口满足标准接口规范条件下,各个步骤的具体实现相互独立,从而使整个文档库系统的实现具有很强的可扩展、可伸缩和可维护性。通过生成多个执行计划并选择最优执行计划的步骤,使选出的最优执行计划的成本较低,从而使实现的文档库系统具有较高的性能。通过对计划器生成的多个执行计划进行局部优化的步骤,使选出的最优执行计划成本更低,从而进一步提高整个文档库系统的性能。
附图说明
图1所示为本发明的文档库系统的分层示意图;
图2所示为本发明的文档库系统示意图;
图3所示为本发明的文档库系统实现方法的流程图。
具体实施方式
本发明的基本思想是,为了实现文档库系统较好的可扩展、可伸缩和可维护性,将文档库系统的实现分为几个层,并对相邻层之间的接口定义标准规范。这样,在各个层的输出结果符合标准接口规范的条件下,各个层的具体实现可以分别有多种选择,从而实现文档库系统具有较好的可扩展、可伸缩和可维护性。
如图1所示,本发明将文档库系统的实现分为如图所示的几个层:将应用程序调用转换为逻辑操作构成的中间形式,将逻辑操作构成的中间形式转换为物理操作构成的执行计划,执行执行计划。
本发明的一个文档库系统如图2所示,包括解释器、计划器、执行器和存储模块。
其中,解释器的输入为应用程序调用,输出为符合标准接口规范的由通用文档模型的对象或操作构成的中间形式。中间形式可以具体表现为语法树或文档对象模型(DOM,Document Object Model)树。应用程序对文档库系统标准接口的调用,首先由解释器进行处理。所谓标准接口,可以是文档库系统基础专利文档中所说明的可扩展置标语言(XML,EXtensible MarkupLanguage)形式的UOML接口,也可以是命令串的形式,或者是其它的形式,但都需要符合基础专利文档处理系统中所描述的通用文档模型。应用程序调用通过解释器进行词法、语法解析后,生成符合标准接口规范的由通用文档模型的对象或操作构成的中间形式。对XML形式,可以使用XML解析器,生成DOM树。对于命令串形式,使用的命令串一般符合LALR(1)(LookaheadLeft to Right Parsing)语法。在给出语法定义的情况下,可使用lex(Lexicalcompiler)和yacc(Yet another compiler compiler)生成的词法和语法解析器来解析命令串。Lex是一种生成扫描器的工具,即生成词法分析器的工具。Yacc(Yet Another CompilerCompiler)是一种LALR(1)分析器的自动生成工具,它的第1版于70年代初发表,是美国贝尔实验室的软件产品(作者为S.C.Johnson)。这两个工具目前在UNIX,DOS等系统平台上广泛流行。具体的XML解析以及lex、yacc解析为现有技术。
下面举例具体说明XML形式的标准接口调用的解析
<call>
  <stringVal val=″AppendLine″name=″MethodName″/>
  <stringVal val=″0xabcd1234″name=″PathObj″/>
  <compoundVal name=″LineObj″>
     <line>
         <start xCod=″1000.23″yCod=″2193.324″/>
         <end xCod=″3233.234″yCod=″2342.234″/>
      </line>
  </compoundVal>
</call>
上述代码表示的是一个XML形式的标准接口调用,接口方法的名称为AppendLine,该方法完成的任务是向句柄为0xabcd1234的路径对象附加一条线段,该线段的两个端点位置分别是(1000.23,2193.324)和(3233.234,2342.234)。
解释器对上述的XML形式的标准接口调用进行解析,解析后的结果表现为DOM树,该DOM树的结构是:根元素为call,call有三个子元素,分别是两个stringVal和一个compoundVal
即如下的形式:
call
   stringVal
   stringVal
   compoundVal
下面是符合LALR(1)语法的自定义语言对文档库系统标准接口的调用:
call with name=AppendLine,params=(PathObj=”0xabcd 1234”,LineObj=(StartPt=(1000.23,2193.324),EndPt=(3233.234,2342.234)));
解释器对上述的自定义形式的应用程序调用,通过对应的词法和语法解析器解析后生成语法树。上述词法和语法解析器可以通过预先调用lex或者yacc定义了自定义语言的词法和语法后生成。语法树可以通过下述C结构表示:
struct SyntaxTree
{
   struct Node*pRoot;
};
struct Node
{
       struct Node*pLeft;
    struct Node*pRight;
}
具体的树形结构与上述示例的DOM树类似。
解释器输出的是由逻辑操作构成的中间形式,这些逻辑操作对应于通用文档模型的对象或操作。这些与通用文档模型对应的逻辑操作需要转换为对物理存储的操作。计划器就是用来实现从通用文档模型的对象或操作到对物理存储的操作的转换。计划器的输入是由通用文档模型的对象或操作构成的中间形式,其输出就是由对物理存储的操作构成的执行计划。构成中间形式的逻辑操作是比较高层次的概念,一个逻辑操作可能映射到单个物理操作,也可能映射到由多个物理操作组成的序列,而且满足条件的映射可能是多个。所以单个中间形式,可能对应多个执行计划。对同一个中间形式,每次调用计划器转换后得到的执行计划,可能是不同的,但这些执行计划之间是等价的。
下面以语法树为中间形式为例,说明计划器对逻辑操作向物理操作转换的实现:
枚举语法树中的每一个逻辑操作L_OP,这里的逻辑操作,也可以是一组逻辑操作的序列;
获得L_OP对应的物理操作集合(P_OP1、P_OP2、……、P_OPm),这里的各个物理操作P_OPj也可以是一组物理操作的序列;
为L_OP选择一个物理操作,假定为P_OPi;
将语法树中所有的逻辑操作都按照上述步骤,选择对应的物理操作,当语法树中所有的逻辑操作都由对应的物理操作所替换时,则生成了执行计划。
对DOM树和其它中间形式的转换与上述实现类似。
对上述例子中以DOM数为例的中间形式经过计划器转换后生成的执行计划如下所示:
AppendLine
  PathObj
  CreateLine
    StartPt
    EndPt
其中,执行计划的根结点AppendLine是操作,其第一个子结点PathObj是Path对象的句柄,而第二个子结点是CreateLine操作,用于创建线段对象,CreateLine的两个子结点分别是创建线段的起始点和结束点。
CreateLine的执行结果,会生成对应的线段对象,而AppendLine操作,则会将该线段对象添加到Path对象中。
执行器用于调度执行计划。执行计划一般是由对物理存储的操作构成的树,执行器自执行计划对应树的根结点开始,自顶向下递归,从树最末端的结点自底向上通过存储模块执行实际的操作,逐步完成整个执行计划。
例如执行器执行下述的执行计划:
OP1
  Para1
  Para2
  OP2
    Para3
    Para4
    OP3
      Para5
      Para6
其中OP1、OP2和OP3为三个操作,Para1-Para6为六个对应操作的参数。执行器执行上述执行计划的过程顺序如下:
执行OP3(Para5,Para6),结果为res3;
执行OP2(Para3,Para4),res3),结果为res2;
执行OP1(Para1,Para2,res2),结果为res1。
存储模块可以建构在各种物理或虚拟的物理存储层上,有不同的性能、规模方面的约束。在系统的实现中,物理存储层提供的接口会影响到构成执行计划的物理操作的构成;例如,如果物理存储层只提供了二进制流的读取/写入,则构成执行计划的物理操作可能只包含读取/写入两种物理操作,如果物理存储层提供了更多操作,比如创建文档库、创建文档集合等,则构成执行计划的物理操作就会多。物理存储层需要提供的基本对象包括文档库、文档集合、文档等还需要提供分配、回收、读写物理存储的功能。
在使用逻辑分区、物理磁盘、虚拟存储、内存等等媒介时,存储模块的实现都是类似的。存储模块可以在如下的基础上构建:操作系统提供的文件系统,或操作系统提供的逻辑分区,或操作系统提供的访问物理磁盘的接口,或绕过操作系统访问物理磁盘的接口,或操作系统提供的访问虚拟内存或物理内存的接口,或绕过操作系统之间访问物理内存的接口,或虚拟存储设备。并在此基础上实现文档库、文档集合、文档等物理存储层对象
其中,虚拟存储可以使用远程存储,即实际的物理存储在另一计算设备上。如网络文件系统(NFS)、分布式文件系统(DFS)。虚拟存储也可以使用网络存储,即实际的网络存储由一个网络提供。如存储区域网络(SAN,StorageAreaNetwork)、网格(GRID)、对等(P2P,PEER-to-PEER)方式的存储等。
以文件系统为例,存储模块执行如下操作:
设定某个目录为文档库;
在文档库目录下,建立一个或多个文档集合目录;
在文档集合目录下,建立一个或多个文件作为文档;
在文档中,可以建立页、层、页面流等等。
最后的目录结构可能如下所示,其中文档以文件形式出现,放置在doclist目录下:
/……
     docbase/
        doclist/
        doclist/
        ……
上述是本发明的文档库系统的各个模块的具体实现。从上面的描述可以看出,不同的模块之间具有标准的接口规范。在输入输出符合标准接口规范的条件下,各个模块的具体实现可以采用不同的方案,从而使整个文档库系统的实现具有可扩展、可伸缩和可维护性的特性。
本发明的文档库系统可以进一步包含优化器。在上述计划器的描述中,指出了对同一个中间形式,每次调用计划器转换后得到的执行计划可能是不同的。虽然这些执行计划之间是等价的,但是不同执行计划在执行时所耗费的时间和占用的空间却经常相差甚远,所以从对应执行计划集合中确定的执行计划是否是优选的,对文档库系统的性能会有很大的影响。优化器就是用于从与中间形式对应的执行计划集合中,按照确定的判断规则,挑选出优选的执行计划。
一种优化器的实现是,由计划器生成一定数目的执行计划,例如计划器可以随机生成一定数目的执行计划;然后由优化器根据判断条件从生成的执行计划集合中选出最优的执行计划。需要指出的,所谓的最优是从判断条件或者实际需求的意义上来说的,例如,在要求执行时间最少的判断条件下选出的最优执行计划,可能执行需要的最大空间很大,从而该执行计划在执行的最大空间要求最小的判断条件下,并不是最优的执行计划。上述的判断条件可以是经验规则,或者是基于执行计划成本的比较,即基于执行计划的时间成本、空间成本或者时间与空间成本的结合的比较。以下举例说明:
一种优化器基于经验规则优先级选择最优执行计划的实现。假定优化器设有L条规则,分别为R1,R2,……RL,不失一般性,假定规则的优先级为R1>R2>……>RL,优化器执行如下操作:
a1,设定执行计划集合为生成的所有执行计划,设定当前用于判断的经验规则为Ri,i=1;
a2,对执行计划集合中的所有执行计划,依次判断是否符合规则Ri,如果一个执行计划不符合规则Ri,则标记该执行计划,并将该执行计划从执行计划集合中去除;
a3,如果执行计划集合为空,则将a2中标记的执行计划放入执行计划集合,并执行下面的操作;如果i等于L,则执行下面的操作;否则,将i加1,重复执行a2;
a4,从执行计划集合中任意挑选一个执行计划,作为基于经验规则优先级选择的最优执行计划。
一种优化器基于经验规则赋权的选择最优执行计划的实现。假定优化器设有L条规则,分别为R1,R2,……RL,不失一般性,假定规则Ri的权值为PRi;优化器执行如下操作:
对所有的执行计划,将其权值初始化为0;
对每个执行计划,判断其是否符合规则Ri(i=1,......,L);如果符合,则将该执行计划的权值增加PRi;
根据各个执行计划的权值,挑选出权值最大的执行计划,作为基于经验规则赋权的选择的最优执行计划。如果符合条件的最优执行计划有多个,可以任意选出一个。
上面描述的是基于经验规则的优化器选择最优执行计划的两种实现,下面介绍基于执行计划成本的优化器选择最优执行计划的实现。
执行计划的成本,包括时间成本和空间成本。时间成本是指执行整个执行计划所花费的时间,而空间成本则指整个执行过程中,最后的结果和中间结果可能占据的最大空间。由于这种执行涉及的磁盘I/O时间是时间成本的主要部分,对时间成本的计算也主要是计算磁盘I/O时间;对空间成本而言,涉及到内存和磁盘两方面的占用。
一)计算执行计划的时间成本
对具体的执行计划而言,优化器预先精确计算其执行时间实际上不可能,只能将执行计划拆解为一些基本操作,以各个基本操作花费的时间为基准,按照各个基本操作实际执行次数进行累加,最后估算出执行计划总共花费的时间。通常的方法是优化器按照递归的执行次序遍历整个执行计划,获得各个基本操作的执行次数,然后计算出整个执行计划花费的时间。
二)计算执行计划的空间成本
和执行计划的时间成本不同的是,执行计划的空间成本通常指的是执行过程中的空间的最大值。计算的方法是优化器按递归次序,自底向上计算,并将当前的执行需要的空间和当前最大的空间值进行比较,如果大于当前最大空间值,则用当前的执行空间替换当前的最大空间,当执行计划计算结束后,就可以得到执行计划的最大空间,即该执行计划的空间成本。
下面分别举例说明执行计划时间成本和空间成本的计算方法。
一种计算执行计划的时间成本的方法。假定执行计划是树形结构,基本操作包括(OP1、OP2、……OPn),假定计算执行计划的时间成本函数为TIME_CALC(NODE node),以下是TIME_CALC的实现:
初始化执行时间变量T为0;
对node的子结点(SUB1、SUB2……SUBm),执行:
T=T+∑TIME_CALC(SUBi),哑元i的范围从1到m;
计算node涉及的各个基本操作的数量,其中OPi的数量简记为Ci,OPi本身需要的时间简记为OTi;
T=T+∑Ci*OTi,此处哑元i的范围是,从1到n;
将T作为TIME_CALC的结果返回。
一种计算执行计划的时间成本的方法。假定执行计划是树形结构,基本操作包括(OP1、OP2、……OPn),假定计算执行空间的函数为SPACE_CALC(NODE node),以下是SPACE_CALC的实现:
初始化执行空间变量S为0;
对node的子结点(SUB1、SUB2……SUBm),执行:
S=S+MAX(SPACE_CALC(SUBi)),哑元i的范围从1到m;
计算node涉及的各个基本操作的数量,其中OPi的数量简记为Ci,OPi本身需要的时间简记为OTi;
S=S+MAX(Ci*OTi),此处哑元i的范围是,从1到n;
将S作为SPACE_CALC的结果返回。
从上面的描述可以看出,优化器从多个执行计划中按照判断条件挑选出最优的执行计划,优选出的执行计划往往具有较低的时间或者空间成本,从而提高了整个文档库系统的性能。
优化器可以直接从由计划器生成的执行计划中选择最优的执行计划,也可以首先利用例如遗传算法、人工神经网络等人工智能算法对由计划器生成的执行计划进行优化,并从改进后的执行计划中选择最优的执行计划。
上述对执行计划的优化,其根本是将执行计划的成本,或其它度量值,作为一个度量函数与智能算法中的度量值,如遗传算法中的适应度和模拟退火算法中的能量,关联起来,通过这些算法对执行计划空间进行搜索,从而得到局部优化的执行计划。
下面介绍几种对执行计划进行优化的实现方法。
一种使用遗传算法改进初始执行计划的方法,包括如下步骤:
将执行计划树编码为串,形成一个串的集合,即遗传算法所使用初始种群;
以执行的时间或空间作为适应度的度量函数,对初始种群进行演化;
在演化到预定数目的后代之后停止演化,然后将最后得到的种群解码为执行计划。
需要指出的是,上面所述的适应度度量函数,除对应于执行的时间空间之外,还可以选择其他度量,例如对文档执行获取页面位图操作次数。
一种使用模拟退火算法改进初始执行计划的方法,对初始执行计划集合中的每一个执行计划,都执行下述操作:
d1,当前执行计划为C,改进后的执行计划为B,将B初始化为C;
d2,初始化当前温度T;
d3,初始化温度降低因子ALPHA为0到1之间的值;
d4,T大于设定的停止温度FT时,循环执行下述操作序列:
4.1)在当前温度下,执行次数小于设定的COUNT时,循环执行以下操作:
4.1.1)将当前执行计划C,复制到临时执行计划W;
4.1.2)对W进行随机的微调,但要保证W与C的等价性;
4.1.3)分别计算C和W的能量(即执行成本)Ec和Ew;
4.1.4)如果Ec>Ew,则将W复制到C和B;
4.1.5)如果Ec<=Ew,则执行下述计算:
初始化TEST为0到1之间的随机值;
DELTA=Ew-Ec;
RESULT=EXP(-DELTA/T);
如果RESULT大于TEST,则将W复制到C;
4.2)降低当前温度,T=T*ALPHA;
d5,将执行计划B复制到C。
除了上述的介绍的两种算法,还可以采用演化计算、启发式算法、分支定界算法、爬山算法、人工神经网络或动态编程等技术领域内的算法,对执行计划进行优化。对于其他算法改进初始执行计划的方法,其策略与上述两种方法是类似的。
通过对初始的执行计划进行局部优化,可以使优化器选出的最优执行计划成本更低,从而进一步提高整个文档库系统的性能。
需要指出的是,本发明所述的解释器、计划器、优化器、执行器和存储模块,其中的一个或者几个模块都可以作为独立的模块实现。例如,在Windows系统下,各个模块可以分别实现为单独的DLL,也可以将所有的模块实现为一个DLL。在linux系统下,各个模块可以分别实现为一个so文件,也可以将所有的模块实现为一个so文件。在java环境下,各个模块的可以分别实现为一个class文件,也可以将所有的模块实现为一个class文件。
而各个模块的实现,可以使用C、C++、Java、Python、Ruby、Perl、SmallTalk、Ada、Simula、Pascal、Haskell等语言开发。
如图3所示,一种文档库系统的实现方法,包括如下步骤:
步骤1,将应用程序调用解析为由通用文档模型的对象或操作构成的中间形式。
应用程序对文档库系统标准接口的调用,可以是文档库系统基础专利文档中所说明的UOML,也可以是命令串的形式,但都需要符合文档库系统基础专利中所指出的通用文档模型。对应用程序调用进行词法、语法解析后,生成符合标准接口规范的由通用文档模型的对象或者操作构成的中间形式。对XML,可以使用XML解析器,生成DOM树。对于命令串形式,使用的命令串一般符合LALR(1)语法,在给出语法定义的情况下,可使用lex和yacc生成的词法和语法解析器解析命令串。
步骤2,将中间形式解析为由对物理存储的操作构成的执行计划。
构成中间形式的通用文档模型的对象或者操作是逻辑操作,这些逻辑操作是比较高层次的概念,一个逻辑操作可能映射到单个对物理存储的操作,也可能映射到由多个对物理存储的操作组成的序列,而且满足条件的映射可能是多个。所以单个中间形式,可能对应多个执行计划。对同一个中间形式,每次转换后的执行计划,可能是不同的。
一种将语法树表示的中间形式转换为执行计划的方法包括如下步骤:
枚举语法树中的每一个逻辑操作L_OP,这里的逻辑操作,也可以是一组逻辑操作的序列;
获得L_OP对应的物理操作集合(P_OP1、P_OP2、……、P_OPm),这里的各个物理操作P_OPj也可以是一组物理操作的序列;
为L_OP选择一个物理操作,假定为P_OPi;
将语法树中所有的逻辑操作都按照上述步骤,选择对应的物理操作,当语法树中所有的逻辑操作都由对应的物理操作所替换时,则生成了执行计划。
对DOM树和其它中间形式的转换与上述实现类似。
步骤3,调度并执行执行计划。
自执行计划对应树的根结点开始,自顶向下递归,到达树的最末端结点后自底向上执行实际的操作,逐步完成整个执行计划。
通过上述方法实现的文档库系统,在各个步骤间的接口满足标准接口规范条件下,各个步骤的具体实现相互独立,从而使整个文档库系统的实现具有很强的可扩展、可伸缩和可维护性。
进一步,步骤2包含如下的步骤:
步骤21,将由通用文档模型的对象或操作构成的中间形式解析为对应的多个执行计划;
构成中间形式的通用文档模型的对象或操作是逻辑操作,这些逻辑操作是比较高层次的概念,一个逻辑操作可能映射到单个物理操作,也可能映射到由多个物理操作组成的序列,而且满足条件的映射可能是多个。所以单个中间形式,可能对应多个执行计划。可以根据由逻辑操作构成的中间形式,随机生成对应的多个执行计划。
步骤23,从多个执行计划中根据判断条件选择一个最优的执行计划。
可以根据判断条件从生成的执行计划集合中选出最优的执行计划。需要指出的,所谓的最优是从判断条件或者实际需求的意义上来说的,例如,在要求执行时间最少的判断条件下选出的最优执行计划,可能执行需要的最大空间很大,从而该执行计划在执行的最大空间要求最小的判断条件下,并不是最优的执行计划。上述的判断条件可以是经验规则,或者是基于执行计划成本的比较,即基于执行计划的时间成本、空间成本或者时间与空间成本的结合的比较。
一种基于经验规则优先级选择最优执行计划的方法。假定有L条规则,分别为R1,R2,……RL,不失一般性,假定规则的优先级为R1>R2>……>RL,包括如下步骤:
b1,设定执行计划集合为生成的所有执行计划,设定当前用于判断的经验规则为Ri,i=1;
b2,对执行计划集合中的所有执行计划,依次判断是否符合规则Ri,如果一个执行计划不符合规则Ri,则标记该执行计划,并将该执行计划从执行计划集合中去除;
b3,如果执行计划集合为空,则将b2中标记的执行计划放入执行计划集合,并执行下面的步骤;如果i等于L,则执行下面的步骤;否则,将i加1,重复执行b2;
b4,从执行计划集合中任意挑选一个执行计划,作为基于经验规则优先级选择的最优执行计划。
一种基于经验规则赋权的选择最优执行计划的方法。假定有L条规则,分别为R1,R2,……RL,不失一般性,假定规则Ri的权值为PRi;包括如下步骤:
对所有的执行计划,将其权值初始化为0;
对每个执行计划,判断其是否符合规则Ri(i=1,......,L);如果符合,则将该执行计划的权值增加PRi;
根据各个执行计划的权值,挑选出权值最大的执行计划,作为基于经验规则赋权的选择的最优执行计划。如果权值最大的执行计划有多个,可以任意选出一个。
上面描述的是基于经验规则的选择最优执行计划的两种方法,下面介绍基于执行计划成本的选择最优执行计划的方法。
执行计划的成本,包括时间成本和空间成本。时间成本是指执行整个执行计划所花费的时间,而空间成本则指整个执行过程中,最后的结果和中间结果可能占据的最大空间。由于这种执行涉及的磁盘I/O时间是时间成本的主要部分,对时间成本的计算也主要是计算磁盘I/O时间;对空间成本而言,涉及到内存和磁盘两方面的占用。
关于执行计划的时间成本和空间成本的计算方法,可以参见上面优化器实现部分的相应内容。
通过上述生成多个执行计划并选择最优执行计划的步骤,使选出的最优执行计划的成本较低,从而使整个文档库系统的实现方法具有较高的性能。
进一步,在步骤21和步骤23之间还包括如下步骤:
步骤22,优化对应的多个执行计划获得它们的局部优化的执行计划。
与步骤22相对应,步骤23从优化后的多个执行计划中选择一个最优的执行计划。
上述步骤22中对执行计划的优化,其根本是将执行计划的成本或其它度量值,作为一个度量函数与智能算法中的度量值,如遗传算法中的适应度和模拟退火算法中的能量,关联起来,通过这些算法对执行计划空间进行搜索,从而得到局部优化的执行计划。
执行计划进行优化的方法包括遗传算法、模拟退火算法等,这两种方法的具体步骤参见优化器部分相应内容的描述。
除了上述的介绍的两种算法,还可以采用演化计算、启发式算法、分支定界算法、爬山算法、人工神经网络或动态编程等技术领域内的算法,对执行计划进行优化。对于其他算法改进初始执行计划的方法,其策略与上述两种方法是类似的。
通过对初始的执行计划进行局部优化的步骤,使选出的最优执行计划成本更低,从而进一步提高整个文档库系统的性能。
综上所述,本发明提供的文档库系统及其实现方法,将文档库系统的实现分为多层。由于不同层的实现可以相对独立,从而使本发明提供的文档库系统具有可扩展、可伸缩和可维护性。通过本发明提供的优化器和相应的优化算法,可以从多个执行计划中选出一个最优的执行计划,提高执行的性能,从而使整个文档库系统的性能提高。而对初始执行计划的局部优化,可以使选出的最优执行计划成本更低,从而进一步提高整个文档库系统的性能,使整个文档库系统的实现具有高性能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (15)

1.一种文档库系统,其特征在于,包括解释器、计划器、执行器和存储模块,其中,
解释器用于接收应用程序调用并将其解析为由通用文档模型的对象或逻辑操作构成的中间形式,其中,所述的中间形式为语法树或者文档对象模型树;
计划器用于接收中间形式并将其解析为由对物理存储的操作构成的执行计划;
执行器用于调度存储模块执行执行计划中对物理存储的操作;
存储模块用于执行构成执行计划的对物理存储的操作。
2.如权利要求1所述的文档库系统,其特征在于,还包括优化器,用于从计划器生成的执行计划中根据判断条件选择最优执行计划。
3.如权利要求2所述的文档库系统,其特征在于,优化器用于对计划器生成的执行计划进行执行计划空间搜索,并根据所述判断条件获得优化的执行计划。
4.如权利要求1或2或3所述的文档库系统,其特征在于,所述的应用程序调用为XML形式或者符合LALR语法的自定义形式。
5.如权利要求1或2或3所述的文档库系统,其特征在于,所述存储模块支持对逻辑分区、物理磁盘、虚拟存储、内存中的一种或多种的物理存储操作。
6.如权利要求5所述的文档库系统,其特征在于,所述的虚拟存储为远程存储或网络存储,所述远程存储包括网络文件系统或分布式文件系统,所述网络存储包括存储区域网络或网格或对等方式的存储。
7.如权利要求3所述的文档库系统,其特征在于,实现所述执行计划优化的算法为:遗传算法、演化算法、模拟退火算法、分支定界算法、爬山算法、启发式算法、人工神经网络算法或动态编程算法。
8.如权利要求2或3所述的文档库系统,其特征在于,所述的判断条件为经验规则,或者执行计划的时间成本或空间成本或时间和空间成本的结合。
9.一种文档库系统的实现方法,其特征在于,包括如下步骤:
步骤1,将应用程序调用解析为由通用文档模型的对象或逻辑操作构成的中间形式,其中,所述的中间形式为语法树或者文档对象模型树;
步骤2,将中间形式解析为由对物理存储的操作构成的执行计划;
步骤3,调度由对物理存储的操作构成的执行计划,执行构成执行计划的对物理存储的操作。
10.如权利要求9所述的方法,其特征在于,步骤2包含如下步骤:
步骤21,将由通用文档模型的对象或操作构成的中间形式解析为对应的多个执行计划;
步骤23,从多个执行计划中根据判断条件选择一个最优的执行计划。
11.如权利要求10所述的方法,其特征在于,在步骤21和步骤23之间包含如下步骤:
步骤22,对生成的执行计划进行执行计划空间搜索,并根据所述判断条件获得优化的执行计划。
12.如权利要求9或10或11所述的方法,其特征在于,所述的应用程序调用为XML形式或者符合LALR语法的自定义形式。
13.如权利要求10或11所述的方法,其特征在于,所述的判断条件为经验规则,或者执行计划的时间成本或空间成本或时间和空间成本的结合。
14.如权利要求10或11所述的方法,其特征在于,步骤23中选择最优执行计划的算法包括基于经验规则优先级的算法或基于经验规则赋权的算法。
15.如权利要求11所述的方法,其特征在于,步骤22中采用的优化算法为遗传算法、演化算法、模拟退火算法、分支定界算法、爬山算法、启发式算法、人工神经网络算法或动态编程算法。
CN200610126538A 2005-12-05 2006-08-25 一种文档库系统及其实现方法 Expired - Fee Related CN101131695B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN200610126538A CN101131695B (zh) 2006-08-25 2006-08-25 一种文档库系统及其实现方法
PCT/CN2007/070476 WO2008025281A1 (fr) 2006-08-25 2007-08-14 Système de base documentaire et procédé de réalisation de celui-ci
JP2009525902A JP2010501948A (ja) 2006-08-25 2007-08-14 文書ベースシステムおよびその実現方法
EP07800952A EP2058742A4 (en) 2006-08-25 2007-08-14 DOCUMENT BASED SYSTEM AND REALIZATION PROCEDURE THEREFOR
US12/391,495 US8312008B2 (en) 2006-08-25 2009-02-24 Docbase management system and implementing method thereof
US13/645,382 US20130031085A1 (en) 2005-12-05 2012-10-04 Docbase management system and implenting method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610126538A CN101131695B (zh) 2006-08-25 2006-08-25 一种文档库系统及其实现方法

Publications (2)

Publication Number Publication Date
CN101131695A CN101131695A (zh) 2008-02-27
CN101131695B true CN101131695B (zh) 2010-05-26

Family

ID=39128965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610126538A Expired - Fee Related CN101131695B (zh) 2005-12-05 2006-08-25 一种文档库系统及其实现方法

Country Status (5)

Country Link
US (1) US8312008B2 (zh)
EP (1) EP2058742A4 (zh)
JP (1) JP2010501948A (zh)
CN (1) CN101131695B (zh)
WO (1) WO2008025281A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161319A (zh) * 2015-04-13 2016-11-23 中南大学 融合遗传和爬山算法降低vlc-ofdm系统峰均功率比
EP3360082B1 (en) 2015-11-12 2021-06-02 Deepmind Technologies Limited Neural programming
US11769150B2 (en) * 2017-10-11 2023-09-26 International Business Machines Corporation Transaction scheduling for block space on a blockchain
CN110968594B (zh) * 2018-09-30 2023-04-07 阿里巴巴集团控股有限公司 数据库查询优化方法、引擎及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1332568A (zh) * 2000-06-29 2002-01-23 和记电话有限公司 信息发送系统
CN1398377A (zh) * 2000-02-04 2003-02-19 美国联机股份有限公司 提供和呈现可定标web页面的系统和处理
US7007231B2 (en) * 2002-01-07 2006-02-28 Chi Hung Dang Document management system employing multi-zone parsing process

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994009595A1 (en) * 1991-09-20 1994-04-28 Shaw Venson M Method and apparatus including system architecture for multimedia communications
US5544355A (en) * 1993-06-14 1996-08-06 Hewlett-Packard Company Method and apparatus for query optimization in a relational database system having foreign functions
DE19515020A1 (de) * 1994-07-01 1996-01-04 Hewlett Packard Co Verfahren und Vorrichtung zum Optimieren von Abfragen mit Gruppieren-nach-Operatoren
JP2976891B2 (ja) * 1996-06-28 1999-11-10 日本電気株式会社 リモートデータベースアクセス方法
US6112304A (en) * 1997-08-27 2000-08-29 Zipsoft, Inc. Distributed computing architecture
US6341281B1 (en) * 1998-04-14 2002-01-22 Sybase, Inc. Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree
US6434545B1 (en) * 1998-12-16 2002-08-13 Microsoft Corporation Graphical query analyzer
US6370522B1 (en) * 1999-03-18 2002-04-09 Oracle Corporation Method and mechanism for extending native optimization in a database system
US7080062B1 (en) * 1999-05-18 2006-07-18 International Business Machines Corporation Optimizing database queries using query execution plans derived from automatic summary table determining cost based queries
JP2002251350A (ja) * 2001-02-22 2002-09-06 Sony Corp 送信装置、受信装置、送受信装置、送信方法および受信方法
US6725212B2 (en) * 2001-08-31 2004-04-20 International Business Machines Corporation Platform-independent method and system for graphically presenting the evaluation of a query in a database management system
US7383255B2 (en) * 2003-06-23 2008-06-03 Microsoft Corporation Common query runtime system and application programming interface
US7805411B2 (en) * 2003-09-06 2010-09-28 Oracle International Corporation Auto-tuning SQL statements
US7356526B2 (en) * 2003-09-30 2008-04-08 International Business Machines Corporation Estimating the compilation time of a query optimizer
JP4313652B2 (ja) * 2003-11-12 2009-08-12 川崎マイクロエレクトロニクス株式会社 スケジューリング装置
US7240078B2 (en) * 2003-11-25 2007-07-03 International Business Machines Corporation Method, system, and program for query optimization with algebraic rules
US7448022B1 (en) * 2004-02-10 2008-11-04 Prasad Ram Dynamic software composition in a component-based software system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1398377A (zh) * 2000-02-04 2003-02-19 美国联机股份有限公司 提供和呈现可定标web页面的系统和处理
CN1332568A (zh) * 2000-06-29 2002-01-23 和记电话有限公司 信息发送系统
US7007231B2 (en) * 2002-01-07 2006-02-28 Chi Hung Dang Document management system employing multi-zone parsing process

Also Published As

Publication number Publication date
WO2008025281A1 (fr) 2008-03-06
EP2058742A1 (en) 2009-05-13
CN101131695A (zh) 2008-02-27
US20090157992A1 (en) 2009-06-18
JP2010501948A (ja) 2010-01-21
EP2058742A4 (en) 2012-04-11
US20120117352A9 (en) 2012-05-10
US8312008B2 (en) 2012-11-13

Similar Documents

Publication Publication Date Title
Deelman et al. Data management challenges of data-intensive scientific workflows
US8200824B2 (en) Optimized multi-component co-allocation scheduling with advanced reservations for data transfers and distributed jobs
Bryant Data-intensive scalable computing for scientific applications
CN105706092B (zh) 四值模拟的方法和系统
CN102567312A (zh) 一种基于分布式并行计算框架的机器翻译方法
US20130346425A1 (en) Method and system for sorting data in a cloud-computing environment and other distributed computing environments
CN102129449B (zh) 数据计算范围的动态扩展
CN105608228B (zh) 一种高效的分布式的rdf数据存储方法
CN102929646B (zh) 应用程序生成方法及装置
CN108959210A (zh) 一种文件转换的方法及装置
CN109460219A (zh) 快速序列化接口控制文件的方法
CN101488086A (zh) 一种基于领域模型的软件生成方法及装置
CN101131695B (zh) 一种文档库系统及其实现方法
Singh et al. Spatial data analysis with ArcGIS and MapReduce
Bigerl et al. Tentris–a tensor-based triple store
CN105550351B (zh) 旅客行程数据即席查询系统及方法
CN107609109A (zh) 一种报表生成方法、装置和系统
CN103699627B (zh) 一种基于Hadoop集群的超大文件并行数据块定位方法
US11797337B2 (en) Data processing management methods for imaging applications
Allen et al. Component specification in the cactus framework: The cactus configuration language
CN114817226A (zh) 政府数据的处理方法及装置
Shabeera et al. A novel approach for improving data locality of mapreduce applications in cloud environment through intelligent data placement
JP5900341B2 (ja) 構成管理装置、構成管理方法、及び構成管理プログラム
Adams DIAL: Distributed interactive analysis of large datasets
CN116186130B (zh) 一种MySQL协议数据库的数据导入导出方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD. BEI

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 13/F, SHINING BUILDING, NO.35, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 100191 ROOM 407, TAIXING BUILDING, NO.11, HUYUAN EAST ROAD, HAIDIAN DISTRICT, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20101101

Address after: 100191, room 407, Taixing building, 11 Garden East Road, Beijing, Haidian District

Co-patentee after: Beijing Sursen Electronic Technology Co., Ltd.

Patentee after: Beijing Suresense International Information Technology Co., Ltd.

Co-patentee after: Beijing Sursen Network Technology Co., Ltd.

Co-patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 13 floor

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: TIANJIN SHUSHENG INVESTMENT CO., LTD.

Free format text: FORMER OWNER: BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20120302

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20120302

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100191 HAIDIAN, BEIJING TO: 300308 HEBEI, TIANJIN

TR01 Transfer of patent right

Effective date of registration: 20120302

Address after: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building 2

Co-patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Co-patentee after: Beijing Sursen Network Technology Co., Ltd.

Co-patentee after: Beijing Suresense International Information Technology Co., Ltd.

Address before: 100191, room 407, Taixing building, 11 Garden East Road, Beijing, Haidian District

Co-patentee before: Beijing Sursen Electronic Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

Co-patentee before: Beijing Sursen Network Technology Co., Ltd.

Co-patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20140320

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140320

Address after: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Beijing Sursen Network Technology Co., Ltd.

Patentee after: Beijing Suresense International Information Technology Co., Ltd.

Patentee after: Beijing Sursen Electronic Technology Co., Ltd.

Address before: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building 2

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Beijing Sursen Network Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY

Free format text: FORMER OWNER: BEIJING SURSEN DIGITAL LIBRARY SOFTWARE TECHNOLOGY CO., LTD. BEIJING SURSEN NETWORK TECHNOLOGY CO., LTD. BEIJING SURESENSE INTERNATIONAL INFORMATION TECHNOLOGY CO., LTD. BEIJING SURSEN ELECTRONIC TECHNOLOGY CO., LTD.

Effective date: 20140827

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140827

Address after: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Patentee after: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee after: Beijing Sursen Network Technology Co., Ltd.

Patentee after: Beijing Suresense International Information Technology Co., Ltd.

Address before: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Beijing Sursen Network Technology Co., Ltd.

Patentee before: Beijing Suresense International Information Technology Co., Ltd.

Patentee before: Beijing Sursen Electronic Technology Co., Ltd.

TR01 Transfer of patent right

Effective date of registration: 20170823

Address after: 300308, Tianjin Airport Economic Zone, No. 80 North River Road airport business park, 9 East, building two

Co-patentee after: Beijing Suresense International Information Technology Co., Ltd.

Patentee after: Tianjin Shusheng Investment Co., Ltd.

Address before: 300308, two floor, building 9, airport business park, 80 Ring Road North, Tianjin Airport Economic Zone

Co-patentee before: Beijing Sursen Digital Library Software Technology Co., Ltd.

Patentee before: Tianjin Shusheng Investment Co., Ltd.

Co-patentee before: Beijing Sursen Network Technology Co., Ltd.

Co-patentee before: Beijing Suresense International Information Technology Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100526

Termination date: 20200825