CN100512118C - 分布式数据管理系统及其动态订阅数据的方法 - Google Patents
分布式数据管理系统及其动态订阅数据的方法 Download PDFInfo
- Publication number
- CN100512118C CN100512118C CN200510121233.8A CN200510121233A CN100512118C CN 100512118 C CN100512118 C CN 100512118C CN 200510121233 A CN200510121233 A CN 200510121233A CN 100512118 C CN100512118 C CN 100512118C
- Authority
- CN
- China
- Prior art keywords
- data
- module
- subscription
- request information
- management module
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013523 data management Methods 0.000 title claims abstract description 20
- 239000000872 buffer Substances 0.000 claims abstract description 27
- 238000007726 management method Methods 0.000 claims description 108
- 238000013500 data storage Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 3
- 230000006399 behavior Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种分布式数据管理系统,包括应用模块和数据管理器;所述应用模块中设有数据访问模块和数据缓存器;所述数据管理器中设有订阅管理模块、订阅列表模块、通知模块和数据存储器;另外,所述应用模块中还设有动态订阅管理模块和数据记录模块;所述数据管理器中还设有数据发布模块,该数据发布模块与所述数据存储器连接;所述动态订阅管理模块分别与所述数据记录模块、所述数据缓存器以及所述数据访问模块连接,与所述订阅管理模块、所述通知模块以及所述数据发布模块通信连接;本发明还提供一种动态订阅数据的方法。采用本发明,可有效减小网络传输和系统处理的数据量,减轻网络负担,提高系统的工作性能。
Description
技术领域
本发明涉及一种分布式数据管理系统及其动态订阅数据的方法,特别涉及一种具有动态订阅管理模块、数据记录模块和数据发布模块的分布式数据管理系统及采用动态订阅管理模块、数据记录模块和数据发布模块订阅远程数据、动态管理缓存数据及更新缓存数据的方法。
背景技术
由于软件工作的复杂性,工作系统往往由多个处于不同场所的设备构成,在该系统中数据往往不是集中在一处,而是分布于不同场所的各个设备中,这些处于各个场所的数据称为分布式数据。由于软件工作的需要,工作系统中的应用模块经常需要访问这些分布式数据,若应用模块和需要访问的数据不在同一设备中,应用模块便需要通过网络通讯来访问该远程数据,这样就影响了应用模块读取数据的效率,也增加了网络负担,影响了工作系统的性能。
为了提高读取数据的效率和减轻网络负担,现有技术中,如果应用模块需要频繁使用某些远程数据,则订阅该远程数据并在应用模块所在的硬件设备中缓存这些远程数据,然后通过订阅/通知机制使缓存数据和远程数据同步,即应用模块向远程硬件设备中的数据管理器订阅这些远程数据并将这些远程数据缓存在应用模块所在的硬件设备中的数据缓存器中,这样应用模块就不需要反复访问该远程数据的数据源了。当被订阅的远程数据发生变化时,远程硬件设备中的数据管理器便向订阅该数据的应用模块发送变化了的数据以更新相应的缓存数据以使缓存数据和远程数据同步。通过这种方法,应用模块访问当地的缓存数据便相当于访问了远程数据,这样可相对减轻网络负担,提高软件的工作系统的性能。参见图1,图1所示为现有技术采用订阅/通知机制缓存远程数据并使其和远程数据保持同步的一具体的分布式数据管理系统的结构示意图。图1中应用模块1中的订阅管理模块13通过网络,向远程数据管理器2中的订阅管理模块21发送订阅某一类数据的订阅请求信息,该订阅管理模块21将接收到的订阅请求保存在订阅列表模块22中。通知模块23根据订阅列表模块22中的订阅请求信息从数据存储器中提取应用模块1订阅数据,发送给订阅管理模块13,订阅管理模块13将该数据保存在数据缓存器12中,以便于应用模块1通过第一数据访问模块11访问该缓存数据。当数据存储器24中被订阅的数据发生变化时,通知模块23就检测订阅列表模块22,并根据订阅列表模块22中保存的订阅请求信息,查找该数据的订阅者,并向订阅者发送变化了的数据以更新订阅者的缓存数据。例如,若应用模块1订阅了发生变化的该远程数据,则通知模块23便向订阅管理模块13发送变化了的数据,订阅管理模块13利用该数据更新数据缓存器12中的相应数据,实现数据缓存器12中的缓存数据和远程数据存储器24中的数据的同步。
如上所述,现有技术虽然在应用模块所在地硬件设备中缓存了远程数据实现了缓存数据与相应远程数据的同步,但是,应用模块订阅远程数据时的订阅较为粗略,往往只简单地订阅一类数据,例如:订阅数据存储器中“学校”类的数据,而实际应用中,应用模块只需使用一类数据中的部分数据如只需要访问“学校”中A小学的数据,对于该类数据中的不被访问的其它数据如除A小学外的其它学校的数据,在其发生变化时通知模块依然通过网络通讯不断对其更新处理;同时,现有技术中应用模块订阅远程数据时采用的是静态的订阅方式,即应用模块通常只在某一段时间内需要使用某些数据,而过一段时间便不再使用这些数据,但应用模块订阅该数据后不能及时取消对其订阅,这样造成的后果是当应用模块不需要的远程数据发生变化时,通知模块依然不断地通过网络通讯对其更新,工作系统依然不断对其处理,这种对不必要数据的传输与处理增加了网络负担,降低了工作系统的整体性能。
发明内容
本发明的主要目的在于针对现有技术中订阅远程数据时订阅较为粗略以及静态订阅远程数据方式中存在的缺陷与不足,提供一种分布式数据管理系统及其动态订阅数据的方法,利用该系统可实现对分布式数据的精确订阅,同时,可实现对订阅的数据的动态管理,及时取消对使用频率较低的数据的订阅,避免了对使用频率较低的数据的频繁更新,从而有效减小了网络传输和系统处理的数据量,从而提高了系统的性能。
为实现上述发明目的,本发明采用了一种分布式数据管理系统,包括:应用模块1和数据管理器2;所述应用模块1中设有第一数据访问模块11和数据缓存器12;所述数据管理器2中设有订阅管理模块21、订阅列表模块22、通知模块23和数据存储器24;另外,所述应用模块1中还设有用于动态订阅远程数据并对所述远程数据进行动态管理的动态订阅管理模块14和用于记录所述远程数据使用信息的数据记录模块15;所述动态订阅管理模块14分别与所述数据缓存器12、所述数据记录模块15和所述第一数据访问模块11物理连接或通信连接;所述数据管理器2中还设有数据发布模块25,所述数据发布模块25与所述数据存储器24物理连接或通信连接,用于读取并分析所述数据存储器24中数据,并保存分析所得的对该数据的描述信息;所述动态订阅管理模块14分别与所述订阅管理模块21、所述通知模块23和所述数据发布模块25通信连接,用于查询所述数据发布模块(25)中保存的对数据存储器中的数据的描述信息,根据该描述信息确定需要订阅的数据,并构造订阅请求信息。
在上述分布式数据管理系统中,所述应用模块1为一个以上。
为实现上述发明目的,本发明还提供了一种动态订阅远程数据的方法,该方法包括订阅远程数据的方法,其中,订阅远程数据的方法还包括动态管理缓存数据的方法、更新缓存数据的方法及订阅管理远程数据的方法。其中订阅远程数据的方法执行以下步骤:
步骤1a、动态订阅管理模块(14)查询数据发布模块(25)所发布的数据的描述信息,并根据预先设置的数据订阅要求确定需要订阅的数据;
步骤1b、所述动态订阅管理模块(14)构造需要订阅的所述数据的订阅请求信息;
步骤1c、所述动态订阅管理模块(14)将所述订阅请求信息保存在数据记录模块(15)中,并将所述订阅请求信息发送给订阅管理模块(21);
步骤1d、所述订阅管理模块(21)将所述订阅请求信息保存在订阅列表模块(22)之中;
步骤1e、通知模块(23)从所述订阅列表模块(22)中读取所述订阅请求信息并进行解析,获知所述动态订阅管理模块(14)需要订阅的所述数据;
步骤1f、所述通知模块(23)从所述数据存储器(24)中提取需要订阅的所述数据,并将该数据发送给所述动态订阅管理模块(14);
步骤1g、所述动态订阅管理模块(14)通过第一数据访问模块(11)将所述数据保存在数据缓存器(12)之中。
所述动态管理缓存数据的方法执行以下步骤:
步骤2a、当第一数据访问模块(11)访问数据缓存器(12)中的数据时,动态订阅管理模块(14)通过扫描所述第一数据访问模块(11)获知所述数据被访问,便更新数据记录模块(15)中记录的与所述数据对应的订阅请求信息的使用次数;
步骤2b、所述动态订阅管理模块(14)扫描所述数据记录模块(15),分别判断该数据记录模块(15)中记录的各订阅数据的使用次数是否大于事先规定的阈值,若大于,执行步骤2e;否则,执行步骤2c;
步骤2c、所述动态订阅管理模块(14)向所述订阅管理模块(21)发送取消使用次数小于所述阈值的订阅请求信息的取消订阅请求信息;
步骤2d、所述动态订阅管理模块(14)根据所述取消订阅请求信息删除订阅列表模块(22)中使用次数小于所述阈值的所述订阅请求信息;
步骤2e、结束。
所述更新缓存数据的方法执行以下步骤:
步骤3a、数据存储器(24)中的数据被更改;
步骤3b、通知模块(23)获知所述数据被更改,对订阅列表模块(22)中存储的订阅请求信息进行解析,并判断所述数据是否被应用模块(1)订阅,是,执行步骤3c;否则,执行步骤3f;
步骤3c、所述通知模块(23)将所述数据发送给动态订阅管理模块(14);
步骤3d、所述动态订阅管理模块(14)将所述数据发送给第一数据访问模块(11);
步骤3e、所述第一数据访问模块(11)利用所述数据更新数据缓存器(12)中的相应数据;
步骤3f、结束。
其中,若分布式数据管理系统中具有一个以上的应用模块,则步骤3b中通知模块23获知所述数据存储器24中的所述数据被更改后,对订阅列表模块22中存储的订阅请求信息进行解析,并判断所述数据是否被订阅,若被订阅的话,进一步查找被哪个应用模块订阅,然后利用变化了的数据更新订阅该数据的应用模块所在的数据缓存器中的相应数据。
所述订阅管理远程数据的方法包括:
动态订阅管理模块记录订阅数据的使用次数;
按预置周期检测所述记录;
比较记录的次数及事先规定的阈值;
取消使用次数小于所述阈值的订阅数据对应的订阅请求信息。
由上述技术方案可知,本发明采用一数据发布模块来详细描述数据存储器中的数据信息,使得应用模块可以了解远程数据的详细信息,从而可精确的订阅远程数据,避免了对不必要的数据的订阅;同时,本发明还采用一动态订阅管理模块监控对订阅的远程数据的使用情况,及时取消对使用频率较低的远程数据的订阅,从而避免了当该数据发生变化时系统对它的频繁更新。因此,采用本发明可有效减小网络传输和系统处理的数据量,减轻了网络负担,提高了系统的工作性能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为现有技术分布式数据管理系统的装置结构示意图;
图2为本发明分布式数据管理系统的装置结构示意图;
图3为通过图2所示系统订阅远程数据的一流程图;
图4为通过图2所示系统动态管理缓存数据的一流程图;
图5为通过图2所示系统更新缓存数据的一流程图;
图6为通过图2所示系统更新缓存数据的另一流程图。
具体实施方式
参见图2,图2所示为本发明分布式数据管理系统的一具体结构示意图,由图2可知,该系统至少包括一应用模块1和数据管理器2,当然,该系统中还可以设有一个以上与应用模块1相同或不同的应用模块。
其中,应用模块1中设有第一数据访问模块11和数据缓存器12,另外,还进一步设有一动态订阅管理模块14和一数据记录模块15,动态订阅管理模块14分别与数据缓存器12、数据记录模块15和第一数据访问模块11物理连接或通信连接,它可根据应用模块1的需求向远程的数据管理器2精确的订阅数据请求信息,还可取消对使用频率较低的远程数据的订阅,从而避免了对不必要的远程数据的处理;数据记录模块15则辅助动态订阅管理模块14对远程数据的动态订阅,用于对订阅的数据的使用情况进行记录,以便使动态订阅管理模块14可以了解对订阅的数据的使用情况,可以单独设置,也可以与动态订阅管理模块14为一体设置。数据管理器2中设有订阅管理模块21、订阅列表模块22、通知模块23和数据存储器24,另外,还进一步设有一用于读取并分析所述数据存储器24中数据,并保存分析所得的对该数据的描述信息的的数据发布模块25,与数据存储器24物理连接或通信连接,该数据发布模块25可以对数据存储器24中的数据进行详细的描述,从而使应用模块1可以更精确的订阅需要的数据,以避免因处理不必要的数据降低系统的工作性能。在该分布式数据管理系统中,动态订阅管理模块14分别与订阅管理模块21、通知模块23和数据发布模块25通信连接,从数据发布模块25获取数据存储器24中的数据信息,向订阅管理模块21发送订阅请求信息和接收通知模块发送的更新数据。
参见图3,图3所示为本发明通过图2所示系统动态订阅数据的一具体流程,其执行以下步骤:
步骤301、动态订阅管理模块14根据预先设置的数据订阅要求,查询数据发布模块25中保存的对数据存储器24中的数据的描述信息,并根据该描述信息确定需要订阅的数据。下表1所示为查询数据发布模块25保存的描述信息的一个具体实例,假如应用模块1查询该表所示的描述信息后对北京市A小学和C公司比较感兴趣,便可决定订阅这两个单位的相关数据;
表1
所在区 | 编号 | 名称 | 位置 | 人数 |
北京 | 10001 | A小学 | A街道 | 400 |
北京 | 10002 | B小学 | B街道 | 200 |
北京 | 20003 | C公司 | C街道 | 280 |
天津 | 30004 | D公司 | D街道 | 320 |
步骤302、动态订阅管理模块14根据应用模块1的订阅要求,构造订阅请求信息;该订阅请求信息可以由一个表达式来表示,该表达式可以由基本元素包括数据类型、数据属性和数据属性的值和关系运算符=、>、<、>=或<=定义,也可以进一步结合逻辑运算符and或or字段定义。根据步骤301中应用模块1决定订阅A小学和C公司相关数据的订阅要求,构造如“所在区=北京and人数>300”,或“位置=A街道”,及“人数=280”或“位置=C街道”所示的订阅请求信息;
该订阅请求信息指明只订阅学校中A小学和C公司的相关数据,与现有技术中虽然只使用A小学的数据但只简单指明订阅学校类的数据、或虽然只使用C公司的数据但只简单指明订阅公司类的数据相比,订阅更加精细,避免了因订阅其它不必要的数据如B小学和D公司的数据而增加网络传输和系统处理的数据量,从而减轻了网络负担,提高了系统性能。
动态订阅管理模块14构造订阅请求信息时,可以在该订阅请求信息中增加一个扩展域,该扩展域可以是表明订阅数据的有效期、订阅的数据范围或订阅允许的数据量等的信息,也可以同时表明这些信息,用于说明应用模块1对订阅的远程数据的要求,使得订阅更加精细和灵活,可更进一步避免不必要的数据提取与处理从而提高系统性能。
步骤303、动态订阅管理模块14根据订阅请求信息,将订阅的相关信息包括“订阅的数据”和“订阅数据的条件”保存在数据记录模块15中,在该数据记录模块15中每一类订阅的数据后都设有“使用次数”以显示应用模块1对订阅的各类数据的使用情况;同时,还将“所在区=北京and人数>300”及“位置=C街道”订阅请求信息发送给订阅管理模块21;
其中,动态订阅管理模块14可以采用传输控制协议/网间协议TransmissionControl Protocol/Internet Protocol,TCP/IP来发送订阅请求信息,也可以采用超文本传输协议(Hypertext Transfer Protocol,HTTP)或简单对象访问协议Simple Object Access Protocol,SOAP来发送订阅请求信息;
数据记录模块15的格式可参见如下表2,该表2所示即为数据记录模块15的一个实例:
表2
订阅数据 | 订阅数据的条件 | 使用次数 |
A小学 | 所在区=北京and人数>300 | 128 |
C公司 | 人数=280 | 28 |
步骤304、订阅管理模块21将该订阅请求信息保存在订阅列表模块22中;
步骤305、通知模块23从订阅列表模块22中读取“所在区=北京and人数>300”和“人数=280”订阅请求信息并通过对其解析,获知动态订阅管理模块要订阅的是A小学和C公司的相关数据;
步骤306、通知模块23从数据存储器24中查找与A小学和C公司相关的数据并进行提取,然后将该数据发送给动态订阅管理模块14;其中,可以采用可扩展的标记语言Extensible Markup Language,XML来发送订阅的数据;
步骤307、动态订阅管理模块14通过第一数据访问模块11将与A小学和C公司学相关的数据保存在数据缓存器12中。
其中,上述技术方案还包括:
数据发布模块25读取、分析数据存储器24中的数据,并按照数据类型如学校、公司等及数据属性包括所在地区、具体位置、编号、名称、员工人数等进行详细的分类描述,并将描述信息保存下来。当数据存储器24中的数据的结构发生了变化、数据被更新、或在数据存储器24中增加了新的数据时,数据发布模块25便重新读取数据存储器24中的新数据,并按照数据类型及数据属性进行详细的分类描述,进一步根据该分类描述的结果更新数据发布模块25中的描述信息。
表1所示即为数据发布模块25保存的一个具体描述信息。由表1可以看出,数据发布模块25对数据存储器24中的数据进行了详细的描述,以便于应用模块1可以更精确的订阅需要的数据,如可以订阅北京地区A小学的数据,而不是象现有技术中那样为了获取A小学的数据只能简单的订阅学校类数据从而订阅了不必要的B小学的数据,避免了因处理和传输不必要的数据而增加网络负担、降低系统的工作性能。
当然,若应用模块1需要订阅完整的一类数据如学校类数据时,其订阅请求信息可以只简单的指明订阅该类数据学校类数据,此时“订阅的数据”为该类数据的名称学校,而“订阅数据的条件”“所在区=北京and人数>300”,或“位置=A街道”为空,相应的,数据记录模块15中该订阅数据的“订阅数据的条件”地记录也为空,这样可以减少数据记录模块15和订阅列表模块22的容量,提高处理数据记录模块15的速度,从而提高系统的工作性能。
参见图4,图4所示为本发明通过图2所示系统动态管理缓存数据的一具体流程,其执行以下步骤:
步骤401、当第一数据访问模块11访问数据缓存器12中的缓存数据如与A小学相关的数据时,动态订阅管理模块14通过扫描第一数据访问模块11获知缓存数据被访问,便更新数据记录模块15中记录的被访问订阅数据如A小学相关数据的使用次数;
步骤402、动态订阅管理模块14扫描数据记录模块15,分别判断该数据记录模块15中记录的各订阅数据的使用次数是否大于事先规定的阈值,若大于,跳转执行步骤405;否则,执行步骤403;若规定使用次数阈值为100次,则分别判断该数据记录模块15中记录的A小学数据和C公司数据的使用次数是否大于100次,若A小学数据和C公司数据的使用次数如表2所示,因A小学数据的所用次数大于100次,跳转执行步骤405;而C公司数据的所用次数小于100次,则执行步骤403;
在该步骤中,动态订阅管理模块14扫描数据记录模块15时,可以按照应用模块1的需要随时扫描数据记录模块15,也可以根据应用模块1的设置定期如一小时、一天、一个月或一年等扫描数据记录模块15,这样数据记录模块15就可清楚地了解订阅的数据中哪些数据的使用频率高,而哪些数据的使用频率低,以便于应用模块1决定是否继续订阅各数据。
步骤403、动态订阅管理模块14向订阅管理模块21发送取消订阅使用次数小于阈值的订阅数据如C公司的取消订阅请求信息;
步骤404、订阅管理模块21根据取消订阅请求信息删除订阅列表模块22中使用次数小于阈值的订阅数据如C公司的订阅请求信息;
因为某些缓存数据的使用频率低即在一段时间内被使用的次数较少,而取消对它的订阅如C公司数据的使用频率较低,取消对C公司数据的订阅,便可避免以后远程数据管理器2中该数据频繁发生变化时,通知模块23还不断地对其提取和发送、应用模块1还不断地对其进行处理,从而减少了网络传输的数据量,减轻了网络负担,同时也减少了数据管理器2提取和发送以及应用模块1处理的数据量,从而提高了系统性能。当然,在应用模块需要时,可通过该应用模块中的“第一数据访问模块”和远程数据管理器中的“第二数据访问模块”访问该远程数据,因为对该远程数据的使用频率较低,因此相对于频繁更新该远程数据的缓存数据而言,可减轻网络负担,提高系统性能。
步骤405、结束。
其中,在步骤403与步骤404之间还可以将数据记录模块15中记录的各订阅数据的使用次数均恢复为0,这样,每次动态订阅管理模块14定期扫描数据记录模块15时,参照的阈值标准相同,而不需要不断的改变阈值。
由于软件工作系统中各设备之间的关联性,应用模块可通过网络通讯更新远程数据管理器中的数据,当数据管理器中的数据被更新后,为了保证整个软件工作系统中数据的一致性,就需要对各应用模块中缓存的远程数据进行更新。参见图5,图5所示为本发明通过图2所示系统更新缓存数据的一具体流程,其执行以下步骤:
步骤501、数据存储器24中A小学数据和C公司的部分数据被更改;
步骤502、通知模块23获知数据存储器24中A小学数据和C公司的部分数据被更改,对订阅列表模块22中存储的订阅请求信息进行解析,并判断A小学数据和C公司的数据是否被应用模块1订阅,是,执行步骤503;否则,跳转执行步骤506;如上述步骤403~405所述,因A小学数据的使用次数大于规定阈值,其订阅请求信息仍存在于订阅列表模块22中即仍被应用模块1订阅,则执行步骤503;而因C公司数据的使用次数小于规定阈值,其订阅请求信息被从订阅列表模块22中删除即不再被应用模块1订阅,则跳转执行步骤506;
步骤503、通知模块23将A小学数据中发生变化的数据发送给动态订阅管理模块14;其中,可以采用可扩展的标记语言ExtensibleMarkupLanguage,XML来发送订阅的数据;
步骤504、动态订阅管理模块14将A小学数据中发生变化的数据发送给第一数据访问模块11;
步骤505、第一数据访问模块11利用A小学数据中发生变化的数据更新数据缓存器12中的相应数据;
步骤506、结束。
应用模块1订阅远程数据时在订阅请求信息时,还可以在该订阅请求信息中增加扩展域信息,此时,当应用模块1订阅的远程数据发生了变化,通知模块23对应用模块1中的缓存数据更新时,还需要考虑订阅请求信息中的扩展域的信息要求,例如,假设动态订阅管理模块14构造订阅A小学的请求信息时,增加了一个表示订阅该信息的有效期为2006年10月1日的扩展域,则通知模块23对应用模块1中的A小学的缓存数据更新前,还应判断更新时刻是否在2006年10月1日之前,通过本发明图2所示系统对其更新的一具体流程参见图6,其执行以下步骤:
步骤601、数据存储器24中A小学数据和C公司的部分数据被更改;
步骤602、通知模块23获知数据存储器24中A小学数据和C公司的部分数据,对订阅列表模块22中存储的订阅请求信息进行解析,并判断A小学数据和C公司的数据是否被订阅,是,执行步骤603;否则,跳转执行步骤607;如上述步骤403~405所述,因A小学数据的使用次数大于规定阈值,其订阅请求信息仍存在于订阅列表模块22中即仍被订阅,则执行步骤603;而因C公司数据的使用次数小于规定阈值,其订阅请求信息被从订阅列表模块22中删除即不再被订阅,则跳转执行步骤608;
步骤603、确定订阅A小学数据的应用模块;订阅A小学数据的应用模块可以是应用模块1,也可以是其它的应用模块,但更新缓存数据的原理相同,为方便起见,假设订阅A小学数据的为应用模块1;若有多个应用模块同时订阅了A小学的数据,则以下流程对这多个应用模块中的每个应用模块均适用。
步骤604、通知模块23检查订阅列表模块22中记录的A小学的订阅数据的有效期,判断目前时刻是否小于该有效期表示的时刻,若小于,表示应用模块1目前仍订阅A小学的数据,则执行步骤605;否则,表示订阅A小学数据的期限已过,不再需要订阅该数据,跳转执行步骤608;
步骤605、通知模块23将A小学数据中发生变化的数据发送给动态订阅管理模块14;其中,可以采用可扩展的标记语言ExtensibleMarkupLanguage,XML来发送订阅的数据;
步骤606、动态订阅管理模块14将A小学数据中发生变化的数据发送给第一数据访问模块11;
步骤607、第一数据访问模块11利用A小学数据中发生变化的数据更新数据缓存器12中的相应数据;
步骤608、结束。
当应用模块1向远程数据管理器2发送的订阅请求信息中增加的扩展域信息为表明订阅的数据大小的容量如“每次订阅允许的数据量为2M”时,通知模块23对订阅的数据进行提取时,若符合要求的数据的容量小于2M,则选择出符合要求的全部数据,否则,只选择符合要求的数据中2M的数据;相应的,在以后对该数据进行更新时,通知模块23需要先检查变化了的数据是否大于2M,若小于2M,则向动态订阅管理模块14发送符合要求的变化了的数据,否则,只向动态订阅管理模块291发送2M符合要求的变化了的数据。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (20)
1、一种分布式数据管理系统,包括:应用模块(1)和数据管理器(2);所述应用模块(1)中设有第一数据访问模块(11)和数据缓存器(12);所述数据管理器(2)中设有订阅管理模块(21)、订阅列表模块(22)、通知模块(23)和数据存储器(24),其特征在于:
所述应用模块(1)中还设有用于动态订阅远程数据并对所述远程数据进行动态管理的动态订阅管理模块(14)和用于记录所述远程数据使用信息的数据记录模块(15);所述动态订阅管理模块(14)分别与所述数据缓存器(12)、所述数据记录模块(15)和所述第一数据访问模块(11)物理连接或通信连接;
所述数据管理器(2)中还设有数据发布模块(25),所述数据发布模块(25)与所述数据存储器(24)物理连接或通信连接,用于读取并分析所述数据存储器(24)中数据,并保存分析所得的对该数据的描述信息;
所述动态订阅管理模块(14)分别与所述订阅管理模块(21)、所述通知模块(23)和所述数据发布模块(25)通信连接,用于查询所述数据发布模块(25)中保存的对数据存储器中的数据的描述信息,根据该描述信息确定需要订阅的数据,并构造订阅请求信息。
2、根据权利要求1所述的分布式数据管理系统,其特征在于:所述应用模块(1)为一个以上。
3、根据权利要求1所述的分布式数据管理系统,其特征在于:所述动态订阅管理模块(14)和所述数据记录模块(15)一体设置。
4、一种利用权利要求1、2或3所述任一系统订阅远程数据的方法,其特征在于包括:
步骤1a、动态订阅管理模块(14)查询数据发布模块(25)所发布的数据的描述信息,并根据预先设置的数据订阅要求确定需要订阅的数据;
步骤1b、所述动态订阅管理模块(14)构造需要订阅的所述数据的订阅请求信息;
步骤1c、所述动态订阅管理模块(14)将所述订阅请求信息保存在数据记录模块(15)中,并将所述订阅请求信息发送给订阅管理模块(21);
步骤1d、所述订阅管理模块(21)将所述订阅请求信息保存在订阅列表模块(22)之中;
步骤1e、通知模块(23)从所述订阅列表模块(22)中读取所述订阅请求信息并进行解析,获知所述动态订阅管理模块(14)需要订阅的所述数据;
步骤1f、所述通知模块(23)从数据存储器(24)中提取需要订阅的所述数据,并将该数据发送给所述动态订阅管理模块(14);
步骤1g、所述动态订阅管理模块(14)通过第一数据访问模块(11)将所述数据保存在数据缓存器(12)之中。
5、根据权利要求4所述的订阅远程数据的方法,其特征在于:所述步骤1a中所述数据发布模块(25)通过读取、分析所述数据存储器(24)中的数据并保存分析所获得的结果的方式发布所述数据的描述信息。
6、根据权利要求5所述的订阅远程数据的方法,其特征在于:所述步骤1a中所述数据发布模块(25)保存分析所获得的结果是所述数据发布模块(25)按照数据类型及数据属性保存分析所获得的结果。
7、根据权利要求4所述的订阅远程数据的方法,其特征在于:所述步骤1b中所述动态订阅管理模块(14)构造需要订阅的所述数据的订阅请求信息是采用基本元素及关系运算符构造所述订阅请求信息。
8、根据权利要求4所述的订阅远程数据的方法,其特征在于:所述步骤1b中所述动态订阅管理模块(14)构造需要订阅的所述数据的订阅请求信息是采用基本元素、关系运算符及逻辑运算符构造所述订阅请求信息。
9、根据权利要求4所述的订阅远程数据的方法,其特征在于:所述步骤1b中所述动态订阅管理模块(14)构造需要订阅的所述数据的订阅请求信息时,还在所述订阅请求信息中增设扩展域信息;该扩展域信息包括:订阅有效期和/或订阅数据量。
10、根据权利要求4所述的订阅远程数据的方法,其特征在于:所述步骤1c中所述将所述订阅请求信息保存在数据记录模块(15)中是将所述订阅请求信息中的“订阅的数据”和“订阅数据的条件”保存在所述数据记录模块(15)中。
11、根据权利要求4所述的订阅远程数据的方法,其特征在于:所述步骤1c中所述将所述订阅请求信息保存在数据记录模块(15)中是将所述订阅请求信息中的“订阅的数据”保存在所述数据记录模块(15)中。
12、根据权利要求4所述的订阅远程数据的方法,其特征在于:所述步骤1c中所述将所述订阅请求信息发送给订阅管理模块(21)是采用传输控制协议/网间协议、超文本传输协议或简单对象访问协议将所述订阅请求信息发送给所述订阅管理模块(21)。
13、根据权利要求4所述的订阅远程数据的方法,其特征在于:所述步骤1f中所述将所述数据发送给所述动态订阅管理模块(14)是采用可扩展的标记语言将所述数据发送给所述动态订阅管理模块(14)。
14、根据权利要求4所述的订阅远程数据的方法,其特征在于在步骤1g之后还包括动态管理缓存数据的步骤,所述动态管理缓存数据的步骤包括:
步骤2a、当第一数据访问模块(11)访问数据缓存器(12)中的数据时,动态订阅管理模块(14)通过扫描所述第一数据访问模块(11)获知所述数据被访问,便更新数据记录模块(15)中记录的与所述数据对应的订阅请求信息的使用次数;
步骤2b、所述动态订阅管理模块(14)扫描所述数据记录模块(15),分别判断该数据记录模块(15)中记录的各订阅数据的使用次数是否大于事先规定的阈值,若大于,执行步骤2e;否则,执行步骤2c;
步骤2c、所述动态订阅管理模块(14)向订阅管理模块(21)发送取消使用次数小于所述阈值的订阅请求信息的取消订阅请求信息;
步骤2d、所述动态订阅管理模块(14)根据所述取消订阅请求信息删除订阅列表模块(22)中使用次数小于所述阈值的所述订阅请求信息;
步骤2e、结束。
15、根据权利要求14所述的订阅远程数据的方法,其特征在于:在所述步骤2c与所述步骤2d之间执行将所述数据记录模块(15)中各订阅数据的使用次数均恢复为0的操作。
16、根据权利要求4所述的订阅远程数据的方法,其特征在于在步骤1f之后还包括更新缓存数据的步骤,所述更新缓存数据的步骤包括:
步骤3a、数据存储器(24)中的数据被更改;
步骤3b、通知模块(23)获知所述数据被更改,对订阅列表模块(22)中存储的订阅请求信息进行解析,并判断所述数据是否被订阅,是,确定订阅数据的应用模块,执行步骤3c;否则,执行步骤3e;
步骤3c、所述通知模块(23)将所述数据发送给动态订阅管理模块(14);
步骤3d、所述动态订阅管理模块(14)将所述数据发送给第一数据访问模块(11);
步骤3e、所述第一数据访问模块(11)利用所述数据更新数据缓存器(12)中的相应数据;
步骤3f、结束。
17、根据权利要求16所述的订阅远程数据的方法,其特征在于:所述步骤3b与所述步骤3c之间还执行以下操作:
所述通知模块(23)检查所述订阅列表模块(22)中记录的订阅数据的有效期,判断目前时刻是否小于该有效期表示的时刻,若小于,执行步骤3c;否则,执行步骤3f。
18、根据权利要求16所述的订阅远程数据的方法,其特征在于:所述步骤3b与所述步骤3c之间还执行以下操作:
所述通知模块(23)检查所述订阅列表模块(22)中记录的订阅数据的数据量,判断发生变化的所述数据的大小是否小于所述数据量,若小于,执行步骤3c;否则,执行步骤3f。
19、根据权利要求16所述的订阅远程数据的方法,其特征在于:所述步骤3c中采用可扩展的标记语言将所述数据发送给动态订阅管理模块(14)。
20、根据权利要求4所述的订阅远程数据的方法,其特征在于步骤1d之后还包括订阅管理远程数据的步骤,所述订阅管理远程数据的步骤还包括:
动态订阅管理模块记录订阅数据的使用次数;
按预置周期检测所述记录的使用次数;
比较记录的次数及事先规定的阈值;
取消使用次数小于所述阈值的订阅数据对应的订阅请求信息。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510121233.8A CN100512118C (zh) | 2005-12-22 | 2005-12-22 | 分布式数据管理系统及其动态订阅数据的方法 |
EP06791187A EP1890425B1 (en) | 2005-12-22 | 2006-09-30 | A distributed data management system and a method for data dynamic subscribing |
DE602006021299T DE602006021299D1 (de) | 2005-12-22 | 2006-09-30 | Verteiltes datenverwaltungs system und verfahren für datendynamisches abonnieren |
PCT/CN2006/002601 WO2007071142A1 (fr) | 2005-12-22 | 2006-09-30 | Systeme de gestion de donnees distribuee et procede d'abonnement dynamique aux donnees |
CN200680012181.3A CN101160797B (zh) | 2005-12-22 | 2006-09-30 | 动态订阅数据的方法 |
AT06791187T ATE505874T1 (de) | 2005-12-22 | 2006-09-30 | Verteiltes datenverwaltungs system und verfahren für datendynamisches abonnieren |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510121233.8A CN100512118C (zh) | 2005-12-22 | 2005-12-22 | 分布式数据管理系统及其动态订阅数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1866833A CN1866833A (zh) | 2006-11-22 |
CN100512118C true CN100512118C (zh) | 2009-07-08 |
Family
ID=37425725
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510121233.8A Expired - Fee Related CN100512118C (zh) | 2005-12-22 | 2005-12-22 | 分布式数据管理系统及其动态订阅数据的方法 |
CN200680012181.3A Expired - Fee Related CN101160797B (zh) | 2005-12-22 | 2006-09-30 | 动态订阅数据的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680012181.3A Expired - Fee Related CN101160797B (zh) | 2005-12-22 | 2006-09-30 | 动态订阅数据的方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1890425B1 (zh) |
CN (2) | CN100512118C (zh) |
AT (1) | ATE505874T1 (zh) |
DE (1) | DE602006021299D1 (zh) |
WO (1) | WO2007071142A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335748A (zh) * | 2007-06-28 | 2008-12-31 | 华为技术有限公司 | 发布、转发和获知业务信息的方法、用户终端及网络设备 |
CN101562578B (zh) * | 2008-04-16 | 2012-02-01 | 华为技术有限公司 | 一种用户数据订阅通知方法及装置 |
CN101925047B (zh) * | 2009-06-11 | 2014-09-10 | 中兴通讯股份有限公司 | 用户数据融合网络系统及订阅通知的实现方法 |
CN101945375A (zh) * | 2009-07-07 | 2011-01-12 | 中兴通讯股份有限公司 | 一种选择应用前端的方法及用户数据仓储 |
CN102196409B (zh) * | 2011-05-13 | 2017-03-22 | 中兴通讯股份有限公司 | 终端设备的监控方法、系统和订阅发布装置 |
CN102497431B (zh) * | 2011-12-13 | 2014-10-22 | 曙光信息产业(北京)有限公司 | 一种tcp连接缓存应用数据的内存申请方法和系统 |
CN102664947B (zh) * | 2012-04-18 | 2015-11-04 | 迈普通信技术股份有限公司 | 分布式系统中的通知分发方法 |
US9886347B2 (en) * | 2015-01-08 | 2018-02-06 | International Business Machines Corporation | Data replication in a database management system |
CN105069057A (zh) * | 2015-07-27 | 2015-11-18 | 玉林师范学院 | 基于rfid分布式高校图书馆读者流向大数据自动采集系统及其方法 |
CN107071809A (zh) * | 2017-02-17 | 2017-08-18 | 山东浪潮商用系统有限公司 | 一种移动通信网管数据时效提升方法 |
CN109271395A (zh) * | 2018-09-11 | 2019-01-25 | 南京轨道交通系统工程有限公司 | 用于综合监控系统的大规模实时数据更新发布系统及方法 |
CN112383582A (zh) * | 2020-10-09 | 2021-02-19 | 爱普(福建)科技有限公司 | 一种边缘层实时数据的管理方法和系统 |
CN113934793A (zh) * | 2021-09-07 | 2022-01-14 | 华数传媒网络有限公司 | 一种运营系统的分布式数据管理系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPN955096A0 (en) * | 1996-04-29 | 1996-05-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Telecommunications information dissemination system |
KR100300788B1 (ko) * | 1998-05-27 | 2001-09-26 | 포만 제프리 엘 | 관리 및 구성정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및 컴퓨터 프로그램 제품 |
US6334178B1 (en) | 1998-08-31 | 2001-12-25 | International Business Machines Corporation | Multiprocessing system with automated propagation of changes to centrally maintained configuration settings |
US7873684B2 (en) * | 2003-08-14 | 2011-01-18 | Oracle International Corporation | Automatic and dynamic provisioning of databases |
JP2005157509A (ja) * | 2003-11-21 | 2005-06-16 | Hitachi Ltd | 通信端末 |
CN100401288C (zh) * | 2005-05-30 | 2008-07-09 | 北京慧讯信息技术有限公司 | 分布式数据源数据集成系统及方法 |
-
2005
- 2005-12-22 CN CN200510121233.8A patent/CN100512118C/zh not_active Expired - Fee Related
-
2006
- 2006-09-30 CN CN200680012181.3A patent/CN101160797B/zh not_active Expired - Fee Related
- 2006-09-30 WO PCT/CN2006/002601 patent/WO2007071142A1/zh active Application Filing
- 2006-09-30 AT AT06791187T patent/ATE505874T1/de not_active IP Right Cessation
- 2006-09-30 EP EP06791187A patent/EP1890425B1/en not_active Not-in-force
- 2006-09-30 DE DE602006021299T patent/DE602006021299D1/de active Active
Also Published As
Publication number | Publication date |
---|---|
DE602006021299D1 (de) | 2011-05-26 |
CN101160797B (zh) | 2011-04-13 |
EP1890425A1 (en) | 2008-02-20 |
WO2007071142A1 (fr) | 2007-06-28 |
CN1866833A (zh) | 2006-11-22 |
CN101160797A (zh) | 2008-04-09 |
EP1890425A4 (en) | 2008-10-22 |
EP1890425B1 (en) | 2011-04-13 |
ATE505874T1 (de) | 2011-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100512118C (zh) | 分布式数据管理系统及其动态订阅数据的方法 | |
CN101667034B (zh) | 一种易扩展的、支持异构集群的监控系统 | |
CN100481838C (zh) | 移动计算环境中保持事务处理高速缓存一致性的系统和方法 | |
CN101416183B (zh) | 保存无线设备当前数据的方法和系统 | |
US20200364185A1 (en) | Method for data replication in a data analysis system | |
CN101202966B (zh) | 一种用户信息的收集方法、系统及设备 | |
CN101287013B (zh) | 一种更新Web页面的方法和Web代理设备 | |
JP2002032261A (ja) | 動的に作られかつ静的であるウェブコンテントの知的キャッシュとリフレッシュのためのシステムと方法 | |
CN101557427A (zh) | 提供分流信息、实现客户端分流的方法、系统及服务器 | |
EP2767912A2 (en) | In-memory real-time synchronized database system and method | |
CN104573035A (zh) | 缓存服务方法及装置、新闻信息获取方法及系统 | |
CN1874254A (zh) | 一种基于客户端/服务器端结构的数据浏览方法 | |
CN107491463B (zh) | 数据查询的优化方法和系统 | |
CN104486116A (zh) | 多维度查询流量数据的方法及系统 | |
CN103729479A (zh) | 基于分布式文件存储的网站页面内容统计的方法和系统 | |
CN103414693A (zh) | 打点方法及打点装置 | |
CN100534084C (zh) | 远程xml数据更新方法以及系统 | |
JP2002140224A (ja) | コンテンツ変更管理方法 | |
CN107070978A (zh) | 一种跨网代理Web地图服务的方法、系统及代理服务器 | |
CN104636395A (zh) | 一种计数处理方法及装置 | |
CN107733694A (zh) | 面向物联网实时数据的自动分析方法 | |
CN114595129A (zh) | 一种可配置的多维度数据监控方法、装置及存储介质 | |
KR20100132752A (ko) | 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템 | |
CN105975599A (zh) | 一种监测网站的页面埋点的方法和装置 | |
CN110471914B (zh) | 一种实时数据处理中维度关联的方法及系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090708 |