[go: up one dir, main page]

CN102024005B - Issuance system and method of information item set directories - Google Patents

Issuance system and method of information item set directories Download PDF

Info

Publication number
CN102024005B
CN102024005B CN200910196048.3A CN200910196048A CN102024005B CN 102024005 B CN102024005 B CN 102024005B CN 200910196048 A CN200910196048 A CN 200910196048A CN 102024005 B CN102024005 B CN 102024005B
Authority
CN
China
Prior art keywords
directory
update
client
renewal
server
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
CN200910196048.3A
Other languages
Chinese (zh)
Other versions
CN102024005A (en
Inventor
时文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN200910196048.3A priority Critical patent/CN102024005B/en
Publication of CN102024005A publication Critical patent/CN102024005A/en
Application granted granted Critical
Publication of CN102024005B publication Critical patent/CN102024005B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了信息项目集合目录的发布系统和方法,使得服务器和客户端的信息项目集合目录得以同步。其技术方案为:客户端通过通信信道与目录发布服务器交互,将服务器上的发布目录下载到客户端本地建立本地副本,并与发布目录更新状态保持同步。此外,客户端将对于发布目录的修改操作上载至目录发布服务器,经过排序按序更新保存在目录数据库存储模块中的被发布目录,并将成功的更新操作打上更新戳记录在更新日志数据库存储模块中。

Figure 200910196048

The invention discloses a publishing system and method of an information item collection directory, which enables the synchronization of the information item collection directories of the server and the client. The technical solution is: the client interacts with the directory release server through a communication channel, downloads the release directory on the server to the local client to create a local copy, and keeps in sync with the update status of the release directory. In addition, the client uploads the modification operation of the published directory to the directory publishing server, updates the published directory stored in the directory database storage module in sequence after sorting, and records the successful update operation with an update stamp in the update log database storage module middle.

Figure 200910196048

Description

信息项目集合目录的发布系统和方法System and method for publishing information item collection catalog

技术领域 technical field

本发明涉及计算机系统,尤其涉及一种发布信息项目集合目录的系统和方法。The present invention relates to a computer system, in particular to a system and method for publishing an information item collection directory.

背景技术 Background technique

RSS(简易信息聚合)是现在互联网上被广泛采用的网站信息发布技术,它允许用户将挑选的多个信息发布源的信息项目聚合到一个统一的常规树形目录,作为检索入口,让用户通过这个统一的检索入口检索来自不同信息发布站点的信息。RSS (Simple Information Synthesis) is a website information publishing technology that is widely used on the Internet now. It allows users to aggregate information items from multiple information publishing sources selected into a unified regular tree directory as a search entry, allowing users to pass This unified retrieval portal retrieves information from different information publishing sites.

由于RSS采用的是常规树形目录,所以RSS存在由常规树形目录结构带来的一系列问题:Since RSS uses a conventional tree directory, RSS has a series of problems caused by the conventional tree directory structure:

(1)一个项目只能归属到一个目录下;(1) A project can only belong to one directory;

(2)固定的检索路径;(2) fixed retrieval path;

(3)分类模式组合引起路径分支爆炸;(3) The combination of classification modes causes path branch explosion;

(4)不能依据项目特定属性值对项目进行检索(4) Items cannot be retrieved based on item-specific attribute values

申请人在2007年7月20日提交的公开日2008年4月9日、公开号CN101158949、发明名称“基于集合的文件项目归类和检索的方法与系统”的专利申请中提出了有关信息项目集合目录的技术方案,用以解决上述的四个问题。申请人在2009年6月30提交了申请号为PCT/CN2009/072520、发明名称“信息项目集合目录的聚合方法和系统”的专利申请,在该专利申请中提出了聚合信息项目集合目录的逻辑方案,但是没有提出如何通过网络发布信息项目集合目录,这使得方案的可实现性不强。The applicant proposed relevant information items in the patent application filed on July 20, 2007, with a publication date of April 9, 2008, publication number CN101158949, and the title of the invention "Method and System for Classification and Retrieval of Document Items Based on Sets" The technical scheme of collection directory is used to solve the above four problems. The applicant submitted a patent application with the application number PCT/CN2009/072520 and the title of the invention "Aggregation Method and System for Information Item Collection Catalog" on June 30, 2009. In this patent application, the logic of aggregating information item collection catalogs was proposed. The scheme, but did not propose how to publish the catalog of information items through the network, which makes the scheme unrealizable.

发明内容 Contents of the invention

本发明的目的在于解决上述问题,提供了一种信息项目集合目录的发布系统,使得服务器和客户端的信息项目集合目录得以同步,增强了信息项目集合目录相关方案的可实现性。The purpose of the present invention is to solve the above problems, and provides a publishing system of an information item collection directory, which enables the synchronization of the information item collection directory of the server and the client, and enhances the feasibility of related schemes for the information item collection directory.

本发明的另一目的在于提供了一种信息项目集合目录的发布方法。Another object of the present invention is to provide a publishing method for an information item collection directory.

本发明的技术方案为:本发明揭示了一种信息项目集合目录的发布系统,包括:The technical solution of the present invention is: the present invention discloses a publishing system for an information item collection directory, including:

目录发布服务器,进一步包括:Directory Publisher, further comprising:

目录数据库存储模块,用于存储包括:被发布的信息项目集合目录、该目录对应的更新戳;The directory database storage module is used to store: the published information item collection directory and the update stamp corresponding to the directory;

更新日志数据库存储模块,用于对被发布的信息项目集合目录的每次成功的更新操作打上更新戳,并将其存储成一条更新记录;The update log database storage module is used to stamp an update stamp on each successful update operation of the released information item collection directory, and store it as an update record;

上载更新组件,连接目录数据库存储模块和更新日志数据库存储模块以及目录数据库压缩快照存储模块,将客户端对被发布的信息项目集合目录的更新操作更新至目录数据库存储模块并将成功的更新操作的信息保存至更新日志数据库存储模块,并且当当前累计的成功的更新操作次数超过预设阈值时用目录数据库存储模块当前的内容生成一个压缩快照保存至目录数据库压缩快照存储模块;Upload the update component, connect the directory database storage module and the update log database storage module and the directory database compressed snapshot storage module, update the update operation of the client to the published information item collection directory to the directory database storage module and record the successful update operation The information is saved to the update log database storage module, and when the current cumulative number of successful update operations exceeds the preset threshold value, a compressed snapshot is generated with the current content of the directory database storage module and saved to the directory database compressed snapshot storage module;

目录数据库压缩快照存储模块,连接上载更新组件和下载更新组件,用于存储目录数据库存储模块中的内容的压缩快照;The directory database compressed snapshot storage module is connected to the upload update component and the download update component, and is used to store the compressed snapshot of the content in the directory database storage module;

下载更新组件,连接更新日志数据库存储模块和目录数据库压缩快照存储模块,利用更新日志数据库存储模块中的更新记录以及目录数据库压缩快照存储模块中的压缩快照,配合客户端更新客户端的被发布的信息项目集合目录的副本;Download the update component, connect the update log database storage module and the directory database compressed snapshot storage module, use the update record in the update log database storage module and the compressed snapshot in the directory database compressed snapshot storage module, and cooperate with the client to update the published information of the client A copy of the project collection directory;

服务器端通信组件,用于与客户端建立通信连接,履行与客户端进行数据收发的任务;The server-side communication component is used to establish a communication connection with the client and perform the task of sending and receiving data with the client;

客户端,通过通信信道与该目录发布服务器交互,进一步包括:The client, interacting with the directory publishing server via a communication channel, further includes:

本地目录存储模块,用于在客户端存储包括:被发布的信息项目集合目录的副本、该副本对应的更新戳;The local directory storage module is used to store on the client side including: a copy of the published information item collection directory and an update stamp corresponding to the copy;

快照下载及更新同步组件,连接本地目录存储模块,利用目录发布服务器的更新日志或者利用目录发布服务器的压缩快照更新客户端的被发布的信息项目集合目录的副本;The snapshot downloads and updates the synchronization component, connects to the local directory storage module, and updates the copy of the published information item collection directory of the client using the update log of the directory publishing server or the compressed snapshot of the directory publishing server;

更新任务生成及提交组件,根据用户操作生成更新任务并提交至目录发布服务器;The update task generation and submission component generates update tasks according to user operations and submits them to the directory publishing server;

客户端通信组件,与目录发布服务器建立通信连接,履行与服务器进行数据收发的任务。The client communication component establishes a communication connection with the directory publishing server and fulfills the task of sending and receiving data with the server.

根据本发明的信息项目集合目录的发布系统的一实施例,该目录数据库存储模块进一步包括:According to an embodiment of the publishing system of the information item collection directory of the present invention, the directory database storage module further includes:

信息项目集合存储单元,为信息项目集合目录中每个信息项目集合记录其标识、该信息项目集合与信息项目集合目录中其他信息项目集合间的父子关系、该信息项目集合的属性规定以及其他的该信息项目集合的附属信息;The information item collection storage unit records the identification of each information item collection in the information item collection directory, the parent-child relationship between the information item collection and other information item collections in the information item collection directory, the attribute specification of the information item collection and other information Ancillary information for the set of information items;

信息项目存储单元,为信息项目集合目录中每个信息项目记录其标识、该信息项目隶属的信息项目集合、该信息项目拥有的属性和对应的属性取值以及其他的该信息项目的附属信息;The information item storage unit, for each information item in the information item collection directory, records its identification, the information item set to which the information item belongs, the attributes owned by the information item and the corresponding attribute values, and other auxiliary information of the information item;

更新戳单元,记录目录数据库存储模块所存储的信息项目集合目录的更新戳。The update stamp unit records the update stamp of the information item collection catalog stored by the catalog database storage module.

根据本发明的信息项目集合目录的发布系统的一实施例,更新日志数据库存储模块中存有记载以下信息的多条记录:更新戳、对象类型、标识、操作类型、操作参数。According to an embodiment of the publishing system of the information item collection directory of the present invention, multiple records recording the following information are stored in the update log database storage module: update stamp, object type, identification, operation type, and operation parameter.

根据本发明的信息项目集合目录的发布系统的一实施例,该发布系统还包括:According to an embodiment of the publishing system of the information item collection directory of the present invention, the publishing system further includes:

检索组件,连接本地目录存储模块,用于在客户端的信息项目集合目录中做检索操作。The retrieval component is connected to the local directory storage module, and is used for retrieval operation in the information item collection directory of the client.

根据本发明的信息项目集合目录的发布系统的一实施例,该发布系统还包括:According to an embodiment of the publishing system of the information item collection directory of the present invention, the publishing system further includes:

目录聚合组件,连接本地目录存储模块,用于对客户端中的信息项目集合目录做聚合操作。The directory aggregation component is connected to the local directory storage module, and is used for performing aggregation operations on the information item collection directory in the client.

本发明还揭示了一种信息项目集合目录的发布方法,发布方法包括客户端上载更新操作的过程以及客户端下载服务器发布目录以更新本地目录副本的过程,The present invention also discloses a publishing method of an information item collection directory. The publishing method includes the process of uploading and updating operations by the client and the process of downloading and publishing the directory by the server to update the local copy of the directory.

客户端上载更新操作的过程进一步包括:The process of client upload update operation further includes:

根据客户端的用户界面操作生成一个更新任务;Generate an update task according to the user interface operation of the client;

将该更新任务提交至服务器;Submit the update task to the server;

服务器根据接收到的该更新任务,按照该任务包含的多笔更新操作信息依次更新服务器该任务对应的发布目录,并在每次更新成功的同时将目录的更新戳增加一个单位,并将本次更新操作信息打上目录此刻的更新戳保存至更新日志形成一条更新记录,更新日志通过更新戳和服务器发布目录关联;According to the received update task, the server updates the publishing directory corresponding to the task on the server in sequence according to the multiple update operation information contained in the task, and increases the update stamp of the directory by one unit when each update is successful, and updates this time The update operation information is marked with the update stamp of the catalog and saved to the update log to form an update record. The update log is associated with the server release directory through the update stamp;

如果该目录对应的当前累计的成功更新操作次数超过预设阈值,将该发布目录做整体压缩生成一个压缩快照,并将该计数清零;If the current accumulative number of successful update operations corresponding to the directory exceeds the preset threshold, the publishing directory will be compressed as a whole to generate a compressed snapshot, and the count will be cleared;

客户端下载服务器发布目录以更新本地目录副本的过程进一步包括:The process for the client to download the server's published catalog to update the local catalog copy further includes:

客户端请求查询服务器发布目录当前的更新状态,包括服务器发布目录当前的更新戳以及更新日志的更新戳范围;The client requests to query the current update status of the catalog published by the server, including the current update stamp of the catalog published by the server and the update stamp range of the update log;

将服务器发布目录的更新戳和更新日志的更新戳范围与客户端的本地目录副本的更新戳比较之后,在下载更新日志和下载压缩快照两种方式中选择一种方式来更新本地目录副本。After comparing the update stamp range of the server-published directory and the update stamp range of the update log with the update stamp of the client's local directory copy, choose one of the two methods of downloading update logs and downloading compressed snapshots to update the local directory copy.

根据本发明的信息项目集合目录的发布方法的一实施例,更新日志中的更新记录包括:更新戳、对象类型、标识、操作类型、操作参数。According to an embodiment of the publishing method of the information item collection directory of the present invention, the update record in the update log includes: update stamp, object type, identification, operation type, and operation parameter.

根据本发明的信息项目集合目录的发布方法的一实施例,将服务器发布目录的更新戳和该目录更新日志的更新戳范围与客户端的本地目录副本的更新戳比较之后,下载更新本地目录副本的步骤进一步包括分三种情况来进行目录更新:According to an embodiment of the publishing method of the information item collection directory of the present invention, after comparing the update stamp range of the directory update log issued by the server and the update stamp range of the directory update log with the update stamp of the client's local directory copy, download and update the local directory copy. The step further includes performing directory update in three cases:

如果本地目录副本的更新戳等于服务器发布目录的更新戳,则等待一段预设的时间后再进行更新戳的比较;If the update stamp of the local directory copy is equal to the update stamp of the server-published directory, wait for a preset period of time before comparing the update stamps;

如果本地目录副本的更新戳旧于服务器发布目录的更新戳且所需的更新操作在更新日志的更新戳范围内,则下载所需的更新日志,再按照更新日志的更新戳的顺序更新本地目录副本;If the update stamp of the local directory copy is older than the update stamp of the server published directory and the required update operation is within the update stamp range of the changelog, download the required changelog and update the local directory in the order of the update stamp of the changelog copy;

如果本地目录副本的更新戳旧于服务器发布目录的更新戳且所需的更新操作不在更新日志的更新戳范围内,则下载压缩快照并解压缩以重建本地目录副本。If the update stamp of the local directory copy is older than the update stamp of the server published directory and the required update operation is not within the update stamp range of the changelog, download the compressed snapshot and decompress to rebuild the local directory copy.

本发明对比现有技术有如下的有益效果:本发明的技术方案是客户端通过通信信道与目录发布服务器交互,将服务器上的发布目录下载到客户端本地建立本地副本,并与发布目录更新状态保持同步。此外,客户端将对于发布目录的修改操作上载至目录发布服务器,经过排序按序更新保存在目录数据库存储模块中的被发布目录,并将成功的更新操作打上更新戳记录在更新日志数据库存储模块中。Compared with the prior art, the present invention has the following beneficial effects: the technical solution of the present invention is that the client interacts with the catalog publishing server through the communication channel, downloads the publishing catalog on the server to the local client to create a local copy, and updates the status with the publishing catalog keep in sync. In addition, the client uploads the modification operation of the published directory to the directory publishing server, updates the published directory stored in the directory database storage module in sequence after sorting, and records the successful update operation with an update stamp in the update log database storage module middle.

附图说明 Description of drawings

图1是本发明的信息项目集合目录的发布系统的实施例的结构示意图。Fig. 1 is a schematic diagram of the structure of an embodiment of the publishing system of the information item collection directory of the present invention.

图2是本发明的目录发布服务器的结构示意图。Fig. 2 is a schematic structural diagram of the directory publishing server of the present invention.

图3是本发明的客户端的结构示意图。Fig. 3 is a schematic structural diagram of the client of the present invention.

图4是本发明的目录数据库存储模块的示意图。Fig. 4 is a schematic diagram of the directory database storage module of the present invention.

图5是本发明的更新日志数据库存储模块的示意图。Fig. 5 is a schematic diagram of an update log database storage module of the present invention.

图6是本发明的客户端上载更新操作的示意图。Fig. 6 is a schematic diagram of uploading and updating operations of the client in the present invention.

图7是本发明的客户端下载服务器发布目录以更新本地目录副本的示意图。Fig. 7 is a schematic diagram of the client downloading the server to publish the directory to update the local directory copy in the present invention.

具体实施方式 Detailed ways

下面结合附图和实施例对本发明作进一步的描述。The present invention will be further described below in conjunction with the accompanying drawings and embodiments.

在介绍本发明的实施例之前,需要对本发明所涉及的技术术语和技术背景进行解释说明。Before introducing the embodiments of the present invention, it is necessary to explain the technical terms and technical background involved in the present invention.

信息项目集合目录是本发明的发布系统需要处理的对象。信息项目定义为可以作为一个逻辑整体在计算机系统上处理和展示给用户的信息结构体。文件系统中的文件是信息项目的一个典型实例,但并不只有文件才是信息项目。例如关系数据库中的一条记录在物理上是作为数据库文件的一部分存储,但其逻辑上可以作为一个整体进行处理和向用户展示,因此关系数据库中的记录也可以是信息项目的一个例子。再例如Outlook此类邮件收发软件中的一封电子邮件也是作为一部分在邮件箱文件中存储,但逻辑上也可以作为一个整体进行处理和展示,因此电子邮件也可以是信息项目的一个例子。The information item collection directory is the object to be processed by the publishing system of the present invention. An information item is defined as an information structure that can be processed on a computer system and presented to a user as a logical whole. A file in a file system is a typical example of an information item, but not only a file is an information item. For example, a record in a relational database is physically stored as a part of the database file, but logically it can be processed and displayed to the user as a whole, so a record in a relational database can also be an example of an information item. For another example, an email in mail sending and receiving software such as Outlook is also stored as a part in the mailbox file, but logically it can also be processed and displayed as a whole, so email can also be an example of an information item.

信息项目集合是由n个信息项目组成的数学意义上的集合,n为大于或等于0的整数。在实际应用中,一个信息项目集合可以包含多个信息项目。The information item set is a mathematical set composed of n information items, where n is an integer greater than or equal to 0. In practical applications, an information item set may contain multiple information items.

信息项目集合目录则是由n个信息项目集合通过父子关系构成的信息结构体,n为大于或等于0的整数。父集合的概念限定为:如果指定信息项目集合A是信息项目集合B的父集合,则B包含的所有信息项目也被A包含,反过来可以称B是A的子集合。The information item set directory is an information structure composed of n information item sets through a parent-child relationship, where n is an integer greater than or equal to 0. The concept of the parent set is limited to: if the specified information item set A is the parent set of the information item set B, then all the information items included in B are also included in A, and B can be said to be a sub-set of A.

在实际处理中信息项目往往用一个标识来唯一代表,例如操作系统中的一个文件采用唯一的文件路径来代表,互联网中的一张网页可以用唯一的URL来代表。只要设计好合适的文法规则任何类型的信息项目都可以用一个文本字符串来唯一地标识,所以实际应用中信息项目集合中存储的是代表信息项目本体的标识而不是信息项目包含的信息本身,因此一个信息项目集合可以包含多种信息项目,一个信息项目集合目录可以用来管理来自多个信息源各种类型的信息项目。例如:在一台个人电脑上设置一个信息项目集合目录用于管理各类本地文件及电子邮件,同时也可以用这个目录管理来自互联网上不同网站的包括网页在内的各种信息项目。In actual processing, information items are often uniquely represented by an identifier. For example, a file in an operating system is represented by a unique file path, and a web page on the Internet can be represented by a unique URL. As long as appropriate grammar rules are designed, any type of information item can be uniquely identified by a text string. Therefore, in practical applications, the information item collection stores the identifier representing the information item ontology rather than the information itself contained in the information item. Therefore, an information item collection can contain various information items, and an information item collection directory can be used to manage various types of information items from multiple information sources. For example: an information item collection directory is set on a personal computer to manage various local files and e-mails, and this directory can also be used to manage various information items including web pages from different websites on the Internet.

信息项目集合目录的发布系统Publishing system for catalog of information item collections

下面请参见图1,图1示出了信息项目集合目录的发布系统的基本架构。发布系统包括两部分:目录发布服务器和客户端。一方面,客户端通过通信信道与目录发布服务器交互,将目录发布服务器上的发布目录下载到客户端,建立本地副本,并与发布目录保持更新同步。另一方面,客户端将对发布目录的修改操作上载至目录发布服务器,进入更新任务队列,按顺序更新被发布目录,并将成功的更新操作打上更新戳记录在更新日志数据库中。Referring to FIG. 1 below, FIG. 1 shows the basic architecture of the publishing system of the information item collection directory. The publishing system consists of two parts: the directory publishing server and the client. On the one hand, the client interacts with the directory publishing server through the communication channel, downloads the publishing directory on the directory publishing server to the client, creates a local copy, and keeps updating and synchronizing with the publishing directory. On the other hand, the client uploads the modification operation of the publishing directory to the directory publishing server, enters the update task queue, updates the published directory in order, and records the successful updating operation with an update stamp in the update log database.

图2示出了目录发布服务器的结构。目录发布服务器包含以下几个模块:目录数据库存储模块10、更新日志数据库存储模块11、目录数据库压缩快照存储模块12、上载更新组件13、下载更新组件14以及服务器端通信组件15。这些模块之间的连接关系是:服务器端通信组件15连接上载更新组件13和下载更新组件14。上载更新组件13分别连接目录数据库存储模块10、更新日志数据库存储模块11、目录数据库压缩快照存储模块12。下载更新组件14分别连接更新日志数据库存储模块11和目录数据库压缩快照存储模块12。Fig. 2 shows the structure of the directory distribution server. The directory publishing server includes the following modules: directory database storage module 10 , update log database storage module 11 , directory database compressed snapshot storage module 12 , upload update component 13 , download update component 14 and server-side communication component 15 . The connection relationship between these modules is: the server-side communication component 15 connects the upload update component 13 and the download update component 14 . The upload update component 13 is respectively connected to the directory database storage module 10 , the update log database storage module 11 , and the directory database compressed snapshot storage module 12 . The download and update component 14 is respectively connected to the update log database storage module 11 and the directory database compressed snapshot storage module 12 .

一个目录发布服务器可以同时管理多个目录的更新和发布。对于单独的一个目录需要独立的一套由目录数据库存储模块10、更新日志数据库存储模块11和目录数据库压缩快照存储模块12构成的数据存储。本案后续内容如无特殊说明均针对的是发布一个目录的情况。目录数据库存储模块10用于存储被发布的信息项目集合目录以及发布所需的和目录本身联系紧密的其他信息,例如:目录对应的更新戳。从实际处理的角度来看,在一个信息项目集合目录中存在两种对象,一种是信息项目集合,需要记录的信息有:信息项目集合的标识、该信息项目集合与目录中其它信息项目集合间的父子关系、该信息项目集合的属性规定以及其他的该信息项目集合的附属信息;另一种是信息项目,需要记录的信息有:信息项目的标识,该信息项目在信息项目集合目录中隶属的信息项目集合、该信息项目拥有的属性和对应的属性取值以及其他的该信息项目的附属信息。图4示出了目录数据库存储模块10的逻辑构成。依照上述分析,目录数据库存储模块10从逻辑上看至少要包含两块,一块用于记录目录中每个信息项目集合的有关信息称为信息项目集合存储单元100,一块用于记录目录中每个信息项目的有关信息称为信息项目存储单元102。当然这种划分并不代表实际实现中目录数据库中的数据结构,仅表示目录数据库存储模块的数据成分的逻辑上的构成。此外考虑到需要记录发布目录的更新状态,本发明的目录数据库存储模块10还增加了记录更新戳信息的更新戳单元104。更新戳用来表征目录被更新的顺序状态,在实现中更新戳可以是一个自然数变量,对目录数据库存储模块10存储的目录每作一次成功的更新操作,同时更新戳立即增加一,并且随后将本次更新操作的信息记录在更新日志数据库模块11中所采用的更新戳必须与执行完本次操作时的目录的更新戳完全一致。A directory publishing server can manage the updating and publishing of multiple directories at the same time. An independent set of data storage consisting of a directory database storage module 10 , an update log database storage module 11 and a directory database compressed snapshot storage module 12 is required for a single directory. Unless otherwise specified, the follow-up content of this case is aimed at publishing a catalog. The directory database storage module 10 is used to store the published information item collection directory and other information closely related to the directory itself required for publishing, such as update stamps corresponding to the directory. From the perspective of actual processing, there are two kinds of objects in an information item collection directory, one is the information item collection, and the information to be recorded includes: the identification of the information item collection, the information item collection and other information item collections in the directory The parent-child relationship between the information item set, the attribute specification of the information item set, and other auxiliary information of the information item set; the other is the information item, and the information that needs to be recorded includes: the identification of the information item, and the information item is in the information item set directory The set of information items to which the information item belongs, the attributes and corresponding attribute values of the information item, and other auxiliary information of the information item. FIG. 4 shows the logical configuration of the directory database storage module 10 . According to the above analysis, the directory database storage module 10 logically includes at least two blocks, one for recording the relevant information of each information item set in the directory is called the information item set storage unit 100, and one for recording each information item set in the directory Information about an information item is referred to as an information item storage unit 102 . Of course, this division does not represent the data structure in the directory database in actual implementation, but only represents the logical composition of the data components of the directory database storage module. In addition, considering the need to record the update status of the publishing catalog, the catalog database storage module 10 of the present invention also adds an update stamp unit 104 for recording update stamp information. The update stamp is used to characterize the sequence state in which the directory is updated. In the implementation, the update stamp can be a natural number variable. When a successful update operation is performed on the directory stored in the directory database storage module 10, the update stamp will increase by one immediately, and then the The update stamp used to record the information of this update operation in the update log database module 11 must be completely consistent with the update stamp of the directory when this operation is completed.

对于目录的更新操作按照针对的对象不同可分为对信息项目集合的更新和对信息项目的更新。对信息项目集合的更新操作又可以分为:增加一个信息项目集合;删除一个信息项目集合;修改目录中现存的一个信息项目集合的标识、它与目录中其它信息项目集合之间的父子关系、它的属性规定以及其他附属信息。对信息项目的更新操作有:向目录中增加一个信息项目(即设置该信息项目与目录中的信息项目集合的隶属关系);从目录中删除一个项目(即去除该项目和目录中任意信息项目集合间的隶属关系);修改目录中一个信息项目的标识、它在目录中和信息项目集合的隶属关系、它拥有的属性取值以及其他附属信息。根据更新操作的共同点,一次更新操作无论针对信息项目集合还是信息项目,无论执行何种内容的更新,都可以用包含:更新对象的类型、更新对象的标识、更新操作的类型、更新操作所需若干参数等字段的一条记录来表示。图5示出了更新日志数据库存储模块11的数据构成。例如图5的更新日志数据库存储模块11存储的第一条更新记录是:更新戳为101、更新对象类型是信息项目集合、更新对象的标识为“档案”(在实际处理中往往采用一个与信息项目集合内涵一致且在该信息项目集合目录范围内唯一的名称作为信息项目集合的标识,这里正是采用这种处理方式)、操作类型是修改、以及各操作参数取值等信息。只有执行成功的更新操作才会被记录在更新日志中,并且更新记录的更新戳必须与执行完该操作的时刻的目录数据库存储模块10的更新戳一致。为了便在客户端目录副本与服务器发布目录同步的过程中查询更新戳在某个区段范围内的更新记录,实际处理中往往将更新记录按更新戳顺序的方式存储在更新日志数据库存储模块11中。The updating operation for the directory can be divided into updating the information item set and updating the information item according to different objects. The update operation of the information item collection can be further divided into: adding an information item collection; deleting an information item collection; modifying the identification of an existing information item collection in the directory, the parent-child relationship between it and other information item collections in the directory, Its attribute specification and other ancillary information. The update operations for information items include: adding an information item to the directory (that is, setting the affiliation relationship between the information item and the information item collection in the directory); deleting an item from the directory (that is, removing the item and any information item in the directory). Affiliation relationship between collections); modify the identity of an information item in the directory, its affiliation relationship with the information item collection in the directory, its attribute values and other auxiliary information. According to the common points of update operations, whether an update operation is aimed at an information item set or an information item, no matter what content is updated, it can be used to include: the type of the update object, the identity of the update object, the type of the update operation, and the update operation. It needs to be represented by a record of several parameters and other fields. FIG. 5 shows the data structure of the update log database storage module 11 . For example, the first update record stored in the update log database storage module 11 of Fig. 5 is: the update stamp is 101, the update object type is an information item collection, and the update object is identified as "archive" (in actual processing, one is often used to match the information The connotation of the item set is consistent and the unique name within the scope of the information item set directory is used as the identification of the information item set, which is the processing method used here), the operation type is modification, and the value of each operation parameter. Only successfully executed update operations will be recorded in the update log, and the update stamp of the update record must be consistent with the update stamp of the directory database storage module 10 at the moment when the operation is completed. In order to query the update records whose update stamps are within a certain section range during the synchronization process between the client directory copy and the server release directory, the update records are often stored in the update log database storage module 11 in the order of update stamps in actual processing. middle.

在实现中由于受到服务器物理存储器容量分配的限制,以及客户端与服务器采用日志进行更新同步过程的时间性能等方面的约束,往往需要为更新日志数据库存储模块11设置一个容量的上限,即最多能容纳多少条更新记录。更新日志数据库存储模块11达到容量上限时,当有新的更新操作信息送达保存时便需要淘汰最旧的若干条更新记录也就是更新戳最小的一批记录以防止更新日志数据库存储模块11超出容量的限制。而这样可能会导致客户端目录副本的更新状态超出更新日志的覆盖范围,也就是采用更新日志已经无法使客户端目录副本与服务器发布目录同步成一致的更新状态,本方案采用压缩快照来解决这个问题。压缩快照在这里指的是将目录数据库存储模块10保存的信息作为一个整体通过无损压缩过程得到的一个压缩的信息存储。由于目录数据库存储模块10的内容会随着随后的一系列更新操作而发生改变,所以把在某个时间点上得到的目录数据库存储模块10的内容的压缩存储称之为压缩快照。显然,利用压缩快照通过解压过程可以恢复得到对应时间点目录数据库存储模块10的整体内容,所以当客户端目录副本的更新状态超出服务器该发布目录的更新日志所能覆盖的范围时就可以由客户端直接下载最新的压缩快照通过解压重建客户端目录副本。在实际处理中考虑到整个上载更新操作过程的时间性能问题以及从节约存储空间的角度来看,不可能每执行一次更新操作便生成一个压缩快照,较好的方式是当累计执行一定数量的更新操作后再生成一个压缩快照。所以可以设置一个更新增量计数器,初值设置为0,每执行一次成功的更新操作计数器加1,当计数值到达预设阈值时生成一个压缩快照并将计数器清零。这样随着发布目录被不断更新,一系列压缩快照将被生成并被存储在目录数据库压缩快照存储模块12中。从访问逻辑上看,压缩快照存储模块12可以按照栈结构来组织这些压缩快照,即新产生的快照被置于栈顶,越是旧的压缩快照越接近栈底。这样做的目的是当有客户端请求下载最新压缩快照时可以通过栈顶迅速找到最新的压缩快照。在压缩快照存储模块12中旧的压缩快照并不立即淘汰,这是由于旧的压缩快照可能正处在被多个客户端下载的过程中,因为这些客户端在开始提出下载压缩快照请求的时候更加新的压缩快照还没有产生。所以压缩快照存储模块12中存储的压缩快照要么是最新的,要么是正处于被下载状态的旧的压缩快照,一旦检测到某个旧的快照没有被客户端下载,便可以将其从压缩快照存储模块12中删除。In the implementation, due to the limitation of server physical storage capacity allocation, and the constraints of the time performance of the update synchronization process between the client and the server using the log, it is often necessary to set a capacity upper limit for the update log database storage module 11, that is, the maximum capacity How many update records to hold. When the update log database storage module 11 reaches the upper limit of capacity, when new update operation information is sent and stored, it is necessary to eliminate the oldest several update records, that is, a batch of records with the smallest update stamp to prevent the update log database storage module 11 from exceeding Capacity limitations. This may cause the update status of the client directory copy to exceed the coverage of the update log, that is, the update log cannot synchronize the client directory copy and the server release directory into a consistent update state. This solution uses compressed snapshots to solve this problem. question. The compressed snapshot here refers to a compressed information storage obtained by taking the information stored in the directory database storage module 10 as a whole through a lossless compression process. Since the content of the directory database storage module 10 will change with a series of subsequent update operations, the compressed storage of the content of the directory database storage module 10 obtained at a certain point in time is called a compressed snapshot. Obviously, the entire content of the directory database storage module 10 at the corresponding point in time can be restored by using the compressed snapshot through the decompression process, so when the update status of the client directory copy exceeds the range covered by the update log of the server's published directory, it can be used by the client. The client directly downloads the latest compressed snapshot and rebuilds the client directory copy by decompressing. In actual processing, considering the time performance of the entire upload and update operation process and from the perspective of saving storage space, it is impossible to generate a compressed snapshot every time an update operation is performed. A better way is to perform a certain number of updates cumulatively Generate a compressed snapshot after the operation. Therefore, an update increment counter can be set, the initial value is set to 0, and the counter is incremented by 1 every time a successful update operation is performed. When the count value reaches the preset threshold, a compressed snapshot is generated and the counter is cleared. In this way, as the publishing directory is continuously updated, a series of compressed snapshots will be generated and stored in the directory database compressed snapshot storage module 12 . From the perspective of access logic, the compressed snapshot storage module 12 can organize these compressed snapshots according to the stack structure, that is, the newly generated snapshots are placed on the top of the stack, and the older compressed snapshots are closer to the bottom of the stack. The purpose of this is that when a client requests to download the latest compressed snapshot, the latest compressed snapshot can be quickly found through the top of the stack. In the compressed snapshot storage module 12, the old compressed snapshots are not eliminated immediately, this is because the old compressed snapshots may be in the process of being downloaded by multiple clients, because these clients start to request to download the compressed snapshots Newer compressed snapshots have not yet been generated. So the compressed snapshot stored in the compressed snapshot storage module 12 is either up-to-date, or an old compressed snapshot that is being downloaded. Once it is detected that an old snapshot is not downloaded by the client, it can be deleted from the compressed snapshot storage module. 12 deleted.

在上述的三个存储模块的基础上,上载更新组件13的功能是将客户端对发布目录的更新操作写入服务器的目录数据库存储模块10、更新日志数据库存储模块11和目录数据库压缩快照存储模块12。下载更新组件14的功能是配合客户端,使客户端能将服务器发布的目录下载至客户端在客户端本地生成一个副本,并与服务器发布目录保持更新状态的同步。具体而言,就是根据本地发布目录副本的更新状态采用更新日志数据库存储模块11中的更新记录以及目录数据库压缩快照存储模块12中的压缩快照来更新客户端的发布目录的副本。On the basis of the above three storage modules, the function of the upload update component 13 is to write the update operation of the client to the publishing directory into the directory database storage module 10, the update log database storage module 11 and the directory database compressed snapshot storage module of the server 12. The function of the download update component 14 is to cooperate with the client, so that the client can download the catalog issued by the server to the client to generate a copy locally on the client, and keep the synchronization of the updated state with the catalog issued by the server. Specifically, update the client's copy of the publishing directory by using the update record in the update log database storage module 11 and the compressed snapshot in the directory database compressed snapshot storage module 12 according to the update status of the local publishing directory copy.

图3示出了客户端的详细结构。客户端包括以下的组件:本地目录存储模块20、快照下载及更新同步组件21、更新任务生成及提交组件22、客户端通信组件23、目录检索组件24(可选)和目录聚合组件25(可选)。这些组件之间的连接关系是:客户端通信组件23分别连接更新任务生成及提交组件22和快照下载及更新同步组件21。本地目录存储模块20分别连接快照下载及更新同步组件21、检索组件24和目录聚合组件25。Figure 3 shows the detailed structure of the client. The client includes the following components: local directory storage module 20, snapshot download and update synchronization component 21, update task generation and submission component 22, client communication component 23, directory retrieval component 24 (optional) and directory aggregation component 25 (optional) select). The connection relationship between these components is: the client communication component 23 is respectively connected to the update task generation and submission component 22 and the snapshot download and update synchronization component 21 . The local directory storage module 20 is respectively connected to the snapshot download and update synchronization component 21 , the retrieval component 24 and the directory aggregation component 25 .

本地目录存储模块20用于在客户端存储服务器发布目录的副本、该副本对应的更新戳,其数据构成与服务器的目录数据库存储模块10一致,参见图4。快照下载及更新同步组件21用于从目录发布服务器下载发布目录的过程,利用目录发布服务器的更新日志或者利用目录发布服务器的压缩快照更新客户端的被发布的信息项目集合目录的副本。而更新任务生成及提交组件22用于将客户端对发布目录的修改操作提交至目录发布服务器的过程,是根据用户操作生成更新任务并提交至目录发布服务器。客户端通信组件23负责与目录发布服务器建立通信连接,履行与服务器进行数据收发的任务。The local directory storage module 20 is used to store a copy of the directory issued by the server on the client side and the update stamp corresponding to the copy, and its data structure is consistent with that of the directory database storage module 10 of the server, see FIG. 4 . The snapshot download and update synchronization component 21 is used for downloading and publishing the catalog from the catalog publishing server, using the update log of the catalog publishing server or utilizing the compressed snapshot of the catalog publishing server to update the copy of the published information item collection catalog of the client. The update task generating and submitting component 22 is used to submit the modification operation of the client to the catalog publishing server to the catalog publishing server, which is to generate an updating task according to user operations and submit it to the catalog publishing server. The client communication component 23 is responsible for establishing a communication connection with the directory publishing server, and fulfilling the task of sending and receiving data with the server.

客户端还包括可选的检索组件24,用于在客户端的信息项目集合目录中做检索操作。具体的检索操作的内容在申请人的公开号为CN101158949的申请中。The client also includes an optional retrieval component 24 for performing retrieval operations in the catalog of information item collections of the client. The content of the specific retrieval operation is in the applicant's application with publication number CN101158949.

客户端还包括可选的目录聚合组件25,用于对客户端的信息项目集合目录做聚合操作。目录聚合没有涉及到服务器和客户端的交互,其具体内容申请人在2009年6月30日申请的国际申请号为PCT/CN2009/072520的PCT申请中已经公开。具体而言,目录聚合组件25实现的步骤为:第一步,设置初始结果目录为由0个信息项目集合构成的目录,即空目录。第二步,根据实际需要设置n个源信息项目集合目录间的优先顺序,并按此顺序将n个源信息项目集合目录组织成队列,n大于等于1。第三步,判断队列是否为空,如果队列为空则结束处理将当前结果目录最为最终得到的结果信息项目集合目录,如果队列非空则取队首元素作为当前要处理的源信息项目集合目录,并对队首元素做出队操作。第四步,将当前处理的源信息项目集合目录和当前结果信息项目集合目录聚合成新的结果信息项目集合目录(作为下个循环的当前结果信息项目集合目录),然后返回到第三步。其中第四步是核心,它的具体操作是从根集合开始按照一定顺序逐个将源信息项目集合目录中的每一个项目集合依照预先定义的映射规则映射到结果信息项目集合目录中。在每次独立的映射操作中,源信息项目集合目录中正在被处理的项目集合称为源信息项目集合,源信息项目集合映射到结果目录中对应的项目集合称为目标项目集合。对于每次映射操作存在两种可能情况:一种情况是按照预定义映射规则当前结果目录中存在唯一的目标项目集合与源项目集合对应,则记录这个映射关系;另一种情况是按照预定义映射规则在当前结果目录中不存在与源项目集合对应的目标项目集合,则在结果目录中创建一个新的项目集合作为目标项目集合与源项目集合的对应,新的目标项目集合的父集合指定为源项目集合在源目录中的父集合映射到结果目录中对应的目标项目集合,并记录这一映射关系。为了达到聚合信息项目的目录规定:源项目集合包含的直接隶属项目成为目标项目集合的直接隶属项目。The client also includes an optional directory aggregation component 25 for performing aggregation operations on the client's information item collection directory. The directory aggregation does not involve the interaction between the server and the client, and the applicant has disclosed its specific content in the PCT application with the international application number PCT/CN2009/072520 filed on June 30, 2009. Specifically, the steps implemented by the directory aggregation component 25 are as follows: first step, set the initial result directory as a directory consisting of 0 information item sets, that is, an empty directory. In the second step, the priority order among the n source information item collection directories is set according to actual needs, and the n source information item collection directories are organized into queues according to this order, and n is greater than or equal to 1. The third step is to judge whether the queue is empty. If the queue is empty, the processing will end. The current result directory will be the final result information item collection directory. If the queue is not empty, the first element of the queue will be taken as the current source information item collection directory to be processed. , and perform team operations on the first element of the team. The fourth step is to aggregate the currently processed source information item collection directory and the current result information item collection directory into a new result information item collection directory (as the current result information item collection directory for the next cycle), and then return to the third step. The fourth step is the core, and its specific operation is to map each item set in the source information item set directory to the result information item set directory one by one in a certain order starting from the root set according to the predefined mapping rules. In each independent mapping operation, the item set being processed in the source information item set directory is called the source information item set, and the corresponding item set mapped from the source information item set to the result directory is called the target item set. There are two possible cases for each mapping operation: one case is that there is a unique target item set corresponding to the source item set in the current result directory according to the predefined mapping rules, and the mapping relationship is recorded; the other case is according to the predefined If the mapping rule does not have a target project collection corresponding to the source project collection in the current result directory, a new project collection is created in the result directory as the correspondence between the target project collection and the source project collection, and the parent collection of the new target project collection is specified Map the parent collection of the source project collection in the source directory to the corresponding target project collection in the result directory, and record this mapping relationship. In order to achieve the catalog requirement of aggregated information items: the directly affiliated items contained in the source item set become the directly affiliated items of the target item set.

在具体实施中对于一个源项目集合需要在结果目录中找到内涵与其一致的唯一的目标项目集合,并将源项目集合中的直接隶属项目汇聚到目标项目集合中。判定目标项目集合的内涵与源项目集合是否一致的标准就是预定义映射规则。例如在实际应用中为每个信息项目集合都取了代表其内涵的名称,用来存放视频信息项目的信息项目集合取名为“视频”,用来存放音频信息项目的信息项目集合取名为“音频”等等,则在一个集合目录中不会存在同名的两个项目集合。因此可以预定义同名映射规则,即在结果目录中找到与源项目集合相同名称的项目集合作为对应的目标项目集合,并将其直接隶属项目汇聚到目标项目集合中。如果在当前结果目录中没有找到相同名称的项目集合,则表示在当前结果目录中没有内涵与源项目集合一致的项目集合,则需要结果目录中创建一个新的项目集合采用相同的名称并将源项目集合的直接隶属项目汇聚其中。In the specific implementation, for a source project set, it is necessary to find a unique target project set whose connotation is consistent with it in the result directory, and gather the directly subordinate projects in the source project set into the target project set. The standard for judging whether the connotation of the target item set is consistent with the source item set is the predefined mapping rule. For example, in practical applications, each information item set has a name representing its connotation. The information item set used to store video information items is named "Video", and the information item set used to store audio information items is named "Video". "Audio", etc., no two project collections with the same name can exist in one collection directory. Therefore, the same-name mapping rule can be predefined, that is, find the item set with the same name as the source item set in the result directory as the corresponding target item set, and gather the directly subordinate items into the target item set. If no project collection with the same name is found in the current result directory, it means that there is no project collection with the same connotation as the source project collection in the current result directory, and a new project collection with the same name needs to be created in the result directory and the source The projects directly subordinate to the project collection are aggregated into it.

这样做产生的整体效果是将来自多个源信息项目集合目录的多个内涵一致的信息项目集合包含的项目汇聚到结果目录中的一个统一的项目集合中去,在结果目录中便可以将这些来自不同的信息源但归属于同一内涵的信息项目作为一个整体进行检索。The overall effect of doing this is to bring together the items contained in multiple consistent information item collections from multiple source information item collection directories into a unified item collection in the result directory, where these items can be aggregated. Information items from different information sources but belonging to the same connotation are retrieved as a whole.

客户端上载更新操作的过程The process of client upload update operation

图6示出了客户端上载更新操作的过程。这一过程主要是由客户端的更新任务生成及提交组件22和目录发布服务器中的上载更新组件13配合完成。首先,由客户端的更新任务生成及提交组件22根据用户的界面操作数据转化生成一个更新任务(一个更新任务都可以看作由多笔更新操作组成的更新操作序列),再发送更新任务至服务器。在服务器端每个发布目录都有对应的更新任务队列。服务器接收到客户端发来的更新任务后将其放进对应的更新任务队列的尾部等待处理。另有更新任务处理程序依次从更新任务队列的头部取出更新任务,按照更新任务中多笔更新操作顺序更新存储在目录数据库存储模块10的发布目录,并在每次成功的更新操作后将对应的更新戳加一。随后将更新任务中执行成功的更新操作按照更新顺序打上对应的更新戳,并记录在更新日志(存储在更新日志数据库存储模块11)中(即写更新日志的步骤)。在写更新日志之后服务器向客户端回送更新任务执行结果(可能的信息有:更新任务中哪些更新操作执行成功,哪些更新操作执行失败等),客户端接收到执行结果后对结果进行某些处理,例如:弹出提示框告知用户哪些更新操作失败。Fig. 6 shows the process of the client uploading the update operation. This process is mainly completed by the cooperation of the update task generation and submission component 22 of the client and the upload update component 13 of the directory publishing server. First, the update task generating and submitting component 22 of the client converts and generates an update task according to the user interface operation data (an update task can be regarded as an update operation sequence composed of multiple update operations), and then sends the update task to the server. Each publishing directory on the server side has a corresponding update task queue. After receiving the update task from the client, the server puts it at the end of the corresponding update task queue for processing. Another update task processing program takes out the update task from the head of the update task queue in turn, updates the release directory stored in the directory database storage module 10 according to the sequence of multiple update operations in the update task, and after each successful update operation, the corresponding The update stamp plus one. Subsequently, the update operations performed successfully in the update task are marked with corresponding update stamps according to the update order, and recorded in the update log (stored in the update log database storage module 11) (ie, the step of writing the update log). After writing the update log, the server sends back the execution result of the update task to the client (possible information includes: which update operations in the update task are executed successfully, which update operations fail to execute, etc.), and the client performs some processing on the result after receiving the execution result , for example: a prompt box pops up to inform the user which update operations failed.

在回送更新任务执行结果后,本次更新任务对目录数据库更新戳的增量累计进入一个更新增量计数器。当这一计数器超过预先设定的阈值时,清空计数器,并将目录数据库存储模块10当前的内容做整体压缩后生成一个压缩快照,再将压缩快照压入目录数据库压缩快照存储模块12的栈结构的栈顶。After the execution result of the update task is sent back, the increment of the update stamp of the directory database by this update task is accumulated into an update increment counter. When this counter exceeds the preset threshold, the counter is cleared, and the current content of the directory database storage module 10 is compressed as a whole to generate a compressed snapshot, and then the compressed snapshot is pushed into the stack structure of the directory database compressed snapshot storage module 12 top of the stack.

客户端下载服务器发布目录以更新本地目录副本的过程The process by which a client downloads a server-published catalog to update its local copy of the catalog

图7示出了客户端下载服务器发布目录的过程。这一过程是由目录发布服务器的下载更新组件14和客户端的快照下载及更新同步组件21共同配合完成。首先,客户端创建一个定时器,定时器按照一定时间间隔触发更新状态检查流程:客户端请求目录发布服务器查询相应的发布目录当前的更新状态,包括发布目录当前的更新戳(即目录数据库存储模块10中的更新戳)、更新日志记录的更新戳范围(即更新日志数据库存储模块11中的更新记录的最新更新戳和最旧更新戳),再将其与本地目录副本的更新状态进行比较,有如下的三种情况。第1种情况是本地目录副本更新戳等于服务器发布目录的更新戳,也就是两者的更新状态一致,则返回定时器程序,等待一段时间后再进行更新状态检查。第2种情况是本地目录副本比发布目录旧(亦即本地目录副本的更新戳旧于发布目录的更新戳)且所需的更新增量日志在更新日志数据库存储模块11的记录范围内(同样采取更新戳比较的办法),则下载所需的更新增量日志,再按照更新日志项的更新戳的顺序更新本地目录副本,直至本地目录副本的更新状态与先前检查时的发布目录的更新状态一致。考虑到客户端在执行上述流程的同时发布目录可能会遭遇新的更新(可能来自其他客户端,也可能来自本客户端),所以随后流程转到发布目录的更新状态的查询。第3种情况是本地目录副本比服务器发布目录旧但所需的更新增量日志不在更新日志数据库存储模块11的记录范围内(这种情况包含一种特殊的情形:客户端还没有建立本地目录副本的状况)。在这种情况下,客户端无法使用更新日志来更新本地目录副本,因此需要下载最新的服务器发布目录的数据库的压缩快照,并解压缩以重建本地目录副本。在目录发布服务器最新创建的目录数据库的压缩快照总是被放置在目录数据库压缩快照存储模块12的栈结构的顶部,当客户端请求最新的目录压缩快照时只需将栈顶的压缩快照传送给客户端即可。考虑到非最新压缩快照也可能处于被下载状态,所以对非栈顶压缩快照采用逐步淘汰机制。Fig. 7 shows the process of the client downloading the catalog published by the server. This process is completed jointly by the download and update component 14 of the directory publishing server and the snapshot download and update synchronization component 21 of the client. First, the client creates a timer, and the timer triggers the update status checking process according to a certain time interval: the client requests the catalog publishing server to query the current update status of the corresponding published catalog, including the current update stamp of the published catalog (that is, the catalog database storage module 10), the update stamp range of the update log record (i.e. the latest update stamp and the oldest update stamp of the update record in the update log database storage module 11), and then compare it with the update state of the local directory copy, There are three situations as follows. The first case is that the update stamp of the copy of the local directory is equal to the update stamp of the directory published by the server, that is, the update status of the two is consistent, then return to the timer program, wait for a period of time, and then check the update status. The second situation is that the local directory copy is older than the release directory (that is, the update stamp of the local directory copy is older than the update stamp of the release directory) and the required update incremental log is within the record range of the update log database storage module 11 (similarly Take the method of comparing the update stamps), then download the required update incremental log, and then update the local directory copy in the order of the update stamps of the update log entries until the update status of the local directory copy is the same as the update status of the published directory at the previous check unanimous. Considering that the client may encounter new updates (possibly from other clients or from this client) while performing the above process, the publishing directory may encounter new updates, so the subsequent process turns to querying the update status of the publishing directory. The 3rd kind of situation is that the local directory copy is older than the server's published directory but the required update incremental log is not within the record range of the update log database storage module 11 (this situation includes a special situation: the client has not yet established a local directory status of the copy). In this case, the client cannot use the changelog to update the local directory copy, so it needs to download the latest compressed snapshot of the database of the server-published directory and uncompress it to rebuild the local directory copy. The compressed snapshot of the directory database newly created by the directory publishing server is always placed at the top of the stack structure of the directory database compressed snapshot storage module 12, and when the client requests the latest directory compressed snapshot, only the compressed snapshot at the top of the stack is sent to client. Considering that non-latest compressed snapshots may also be downloaded, a phase-out mechanism is adopted for non-top compressed snapshots.

为了便于理解,为上述3种情况的判别举例如下:假设采用自然数序号作为更新戳,现服务器上的一发布目录的更新戳为216,其对应的更新日志的更新戳范围是101至216(根据本案前面对更新戳的说明,可知当前发布目录的更新戳必然和更新日志的更新戳上限一致)。如果某客户端本地目录副本的更新戳为216,经过和服务器发布目录的更新戳对比可知客户端本地目录副本的更新状态与发布目录一致,这正是上段所述的第1种情况。如果客户端本地目录副本的更新戳在100至215范围之内(即大于或等于100,并且小于或等于215),与发布目录的更新戳比较显然不等,随后将该更新戳加1(加1的目的是获取所需增量更新记录的更新戳的下限,例如客户端本地目录副本的更新戳为100,而所需用来更新本地目录副本的更新日志记录的更新戳范围是101至216)再与更新日志更新戳范围比较得到与上段所述第2种情况相匹配的结果。如果客户端本地目录副本的更新戳小于100,通过同样的方法比较可以确定客户端本地目录副本的更新状态既不等于服务器发布目录的更新状态,并且也不在更新日志所覆盖的范围内这正是上段所述的第3种情况。For ease of understanding, examples of the above three cases are as follows: Assume that a natural number serial number is used as the update stamp, and the update stamp of a publishing directory on the current server is 216, and the update stamp range of the corresponding update log is 101 to 216 (according to The above description of the update stamp in this case shows that the update stamp of the current published directory must be consistent with the upper limit of the update stamp of the update log). If the update stamp of a client's local copy of the directory is 216, the update status of the client's local copy of the directory is consistent with that of the published directory through comparison with the update stamp of the server's published directory. This is the first case described in the previous paragraph. If the update stamp of the client's local directory copy is within the range of 100 to 215 (that is, greater than or equal to 100 and less than or equal to 215), it is obviously not equal to the update stamp of the published directory, and then the update stamp is increased by 1 (plus The purpose of 1 is to obtain the lower limit of the update stamp of the required incremental update record. For example, the update stamp of the client's local directory copy is 100, and the update stamp range of the update log records required to update the local directory copy is 101 to 216 ) is compared with the range of update log update stamps to obtain a result that matches the second case described in the previous paragraph. If the update stamp of the client's local copy of the directory is less than 100, it can be determined that the update status of the client's local copy of the directory is neither equal to the update status of the server's published directory, nor is it within the range covered by the update log. Case 3 described in the previous paragraph.

上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。The above-mentioned embodiments are provided for those of ordinary skill in the art to implement or use the present invention. Those of ordinary skill in the art can make various modifications or changes to the above-mentioned embodiments without departing from the inventive idea of the present invention. Therefore, the present invention The scope of protection of the invention is not limited by the above-mentioned embodiments, but should be the maximum scope consistent with the innovative features mentioned in the claims.

Claims (7)

1. the delivery system of an information project catalog aggregator comprises:
The catalogue publisher server further comprises:
The catalog data base memory module is used for storage and comprises: the information project catalog aggregator that is published, the corresponding renewal of this catalogue are stabbed;
Upgrade the log database memory module, be used for the each successful renewal operation of the information project catalog aggregator that is published stamped to upgrade stabbing, and it is stored as a more new record;
Upload the renewal assembly; Connect the catalog data base memory module and upgrade log database memory module and catalog data base compression snapshot memory module; Client is updated to the catalog data base memory module to the renewal operation of the information project catalog aggregator that is published and the information of the renewal operation of success is saved to upgrade the log database memory module, and when the renewal number of operations of the success of current accumulative total surpasses predetermined threshold value, generate one and compress snapshot and be saved to catalog data base and compress the snapshot memory module with the current content of catalog data base memory module;
Catalog data base compression snapshot memory module connects to upload and upgrades assembly and down loading updating assembly, is used for the compression snapshot of the content of storage directory database storing module;
The down loading updating assembly; Connect and upgrade log database memory module and catalog data base compression snapshot memory module; Utilize the more new record and the catalog data base that upgrade in the log database memory module to compress the compression snapshot in the snapshot memory module, the fit end upgrades the copy of the information project catalog aggregator that is published of client;
The server end communications component is used for establishing a communications link with client, fulfils the task of carrying out data transmit-receive with client;
Client, mutual through communication channel and this catalogue publisher server, further comprise:
The local directory memory module is used for comprising in client stores: the copy of the information project catalog aggregator that is published, the renewal that this copy is corresponding are stabbed;
Snapshot is downloaded and is upgraded Synchronization Component, connects the local directory memory module, utilizes the renewal daily record of catalogue publisher server or utilizes the copy of the information project catalog aggregator that is published of the compression snapshot update client of catalogue publisher server;
Updating task generates and submits to assembly, operates generating updating task and being committed to the catalogue publisher server according to the user;
Client communication component establishes a communications link with the catalogue publisher server, fulfils the task of carrying out data transmit-receive with server.
2. the delivery system of information project catalog aggregator according to claim 1 is characterized in that, this catalog data base memory module further comprises:
Information project set storage unit is the attribute regulation of the set membership between other information project set, this information project set in its sign of each information project set record in the information project catalog aggregator, this information project set and the information project catalog aggregator and the satellite information of other this information project set;
The information project storage unit, the information project set that it identifies for each information project record in the information project catalog aggregator, this information project is subordinate to, attribute and the attribute value of correspondence and the satellite information of other this information project that this information project has;
Upgrade and stab the unit, the renewal of record catalog data base memory module institute canned data project set catalogue is stabbed.
3. the delivery system of information project catalog aggregator according to claim 1 is characterized in that, upgrades many records that have the following information of record in the log database memory module: upgrade stamp, object type, sign, action type, operating parameter.
4. the delivery system of information project catalog aggregator according to claim 1 is characterized in that, this delivery system also comprises:
Retrieval component connects the local directory memory module, is used for doing search operaqtion at the information project catalog aggregator of client.
5. the delivery system of information project catalog aggregator according to claim 1 is characterized in that, this delivery system also comprises:
The catalogue polymerizing component connects the local directory memory module, is used for the information project catalog aggregator of client is done converging operation.
6. the dissemination method of an information project catalog aggregator, dissemination method comprise that client uploads the process of upgrading operation and client downloads server issue catalogue upgrading the process of local directory copy,
Client is uploaded the process of upgrading operation and is further comprised:
Operating user interface according to client generates a updating task;
This updating task is committed to server;
Server is according to this updating task that receives; Many that comprise according to this task are upgraded the operation informations corresponding issue catalogue of this task of update service device successively; And when upgrading successfully, unit of increase is stabbed in the renewal of catalogue at every turn; And this is upgraded operation information stamp catalogue renewal this moment and stab to be saved to and upgrade daily record and form a more new record, upgrade daily record and stab through upgrading that to issue catalogue related with server;
If the successful renewal number of operations of the current accumulative total that this catalogue is corresponding surpasses predetermined threshold value, should issue catalogue and do a compression of reduced overall generation snapshot, and the successful renewal number of operations zero clearing of the current accumulative total that this catalogue is corresponding;
Client downloads server issue catalogue further comprises with the process of upgrading the local directory copy:
The current update mode of client-requested querying server issue catalogue comprises the renewal stamp scope that the current renewal of server issue catalogue is stabbed and upgraded daily record;
The renewal that server is issued catalogue is stabbed and the renewal of upgrading daily record stab scope and the renewal of the local directory copy of client stab compare after; Select a kind of mode to upgrade the local directory copy in the down loading updating daily record with downloading in the compression snapshot dual mode, wherein divide three kinds of situation to carry out catalogue and upgrade:
If the renewal of local directory copy is stabbed the renewal equal server issue catalogue and stabbed, upgrade the comparison of stamp after then waiting for one preset period again;
Old renewal in server issue catalogue is stabbed and required renewal operates in the renewal stamp scope of upgrading daily record if the renewal of local directory copy is stabbed, and then downloads required renewal daily record, the sequential update local directory copy that stabs according to the renewal of upgrading daily record again;
Old renewal in server issue catalogue is stabbed and required renewal is operated in the renewal stamp scope of not upgrading daily record if the renewal of local directory copy is stabbed, and then downloads compression snapshot and decompression to rebuild the local directory copy.
7. the dissemination method of information project catalog aggregator according to claim 6 is characterized in that, the more new record that upgrades in the daily record comprises: upgrade stamp, object type, sign, action type, operating parameter.
CN200910196048.3A 2009-09-22 2009-09-22 Issuance system and method of information item set directories Expired - Fee Related CN102024005B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910196048.3A CN102024005B (en) 2009-09-22 2009-09-22 Issuance system and method of information item set directories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910196048.3A CN102024005B (en) 2009-09-22 2009-09-22 Issuance system and method of information item set directories

Publications (2)

Publication Number Publication Date
CN102024005A CN102024005A (en) 2011-04-20
CN102024005B true CN102024005B (en) 2012-11-07

Family

ID=43865308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910196048.3A Expired - Fee Related CN102024005B (en) 2009-09-22 2009-09-22 Issuance system and method of information item set directories

Country Status (1)

Country Link
CN (1) CN102024005B (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064833B (en) * 2011-10-18 2016-03-16 阿里巴巴集团控股有限公司 A kind of method and system of Clean Up Database historical data
CN103491113B (en) * 2012-06-11 2018-06-08 腾讯科技(深圳)有限公司 A kind of synchronous method, the apparatus and system of information fusion file
CN103092745B (en) 2013-01-22 2016-04-13 中兴通讯股份有限公司 The control method of system journal record and device
CN104424314B (en) * 2013-09-06 2019-06-11 Sap欧洲公司 Database operations on a columnar database
CN104639592B (en) * 2013-11-15 2018-09-28 华为技术有限公司 Information synchronization method and system and cloud storage gateway between cloud storage gateway
US11003740B2 (en) 2013-12-31 2021-05-11 International Business Machines Corporation Preventing partial change set deployments in content management systems
CN106656522A (en) * 2015-10-28 2017-05-10 中国移动通信集团公司 Data calculation method and system of cross-data center
CN108280080B (en) * 2017-01-06 2022-02-22 阿里巴巴集团控股有限公司 Data synchronization method and device and electronic equipment
CN108228694B (en) * 2017-06-30 2024-10-22 勤智数码科技股份有限公司 Directory generation method based on refined data item
CN109582431A (en) * 2018-12-25 2019-04-05 杭州达现科技有限公司 A kind of the catalogue update method and device of display interface
CN115017025A (en) * 2022-06-29 2022-09-06 中国银行股份有限公司 Method, device, equipment and medium for recording task set distribution log

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040167941A1 (en) * 2001-09-28 2004-08-26 Anand Prahlad System and method for archiving objects in an information store
CN101146111A (en) * 2007-10-19 2008-03-19 深圳市迅雷网络技术有限公司 Method and device for downloading files
CN101197700A (en) * 2006-12-05 2008-06-11 阿里巴巴公司 Method and system for providing log service

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040167941A1 (en) * 2001-09-28 2004-08-26 Anand Prahlad System and method for archiving objects in an information store
US20070033237A1 (en) * 2001-09-28 2007-02-08 Anand Prahlad System and method for archiving objects in an information store
CN101197700A (en) * 2006-12-05 2008-06-11 阿里巴巴公司 Method and system for providing log service
CN101146111A (en) * 2007-10-19 2008-03-19 深圳市迅雷网络技术有限公司 Method and device for downloading files

Also Published As

Publication number Publication date
CN102024005A (en) 2011-04-20

Similar Documents

Publication Publication Date Title
CN102024005B (en) Issuance system and method of information item set directories
US11500821B2 (en) Synchronizing metadata in a data storage platform comprising multiple computer nodes
EP2281242B1 (en) Managing storage of individually accessible data units
US10452484B2 (en) Systems and methods for time-based folder restore
EP2729884B1 (en) Managing storage of data for range-based searching
US8719254B2 (en) Efficient querying using on-demand indexing of monitoring tables
EP3825863A1 (en) Distributed computer system for delivering data
US10997037B1 (en) Method and system for enhanced backup database indexing
US20100293141A1 (en) Method and a System for Obtaining Differential Backup
US8880463B2 (en) Standardized framework for reporting archived legacy system data
US20100241651A1 (en) Processing of files for electronic content management
US20190278757A1 (en) Distributed Database Management System with Dynamically Split B-Tree Indexes
US9645893B1 (en) Method and system for file recovery using enhanced backup database indexing
CN105138691A (en) Method and system for analyzing user traffic
CN111046041A (en) Data processing method and device, storage medium and processor
CN110209731A (en) Method of data synchronization, device and storage medium, electronic device
US11210211B2 (en) Key data store garbage collection and multipart object management
CN109284262A (en) A kind of business-electronic document management server-side and system
US10824612B2 (en) Key ticketing system with lock-free concurrency and versioning
CN106250476A (en) A kind of methods, devices and systems updated and synchronize white list
US11210212B2 (en) Conflict resolution and garbage collection in distributed databases
US12222821B2 (en) Server-side inline generation of virtual synthetic backups using group fingerprints
US12222816B2 (en) Targeted deduplication using group fingerprints and auto-generated backup recipes for virtual synthetic replication
CN117194337B (en) Selecting new source file methods, apparatus, computer equipment, and storage media
AU2015258326B2 (en) Managing storage of individually accessible data units

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121107

Termination date: 20150922

EXPY Termination of patent right or utility model