CN102789491A - 一种可配置的数据订阅和发布系统及其方法 - Google Patents
一种可配置的数据订阅和发布系统及其方法 Download PDFInfo
- Publication number
- CN102789491A CN102789491A CN2012102298919A CN201210229891A CN102789491A CN 102789491 A CN102789491 A CN 102789491A CN 2012102298919 A CN2012102298919 A CN 2012102298919A CN 201210229891 A CN201210229891 A CN 201210229891A CN 102789491 A CN102789491 A CN 102789491A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- subscription
- file
- subscribing
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可配置的数据订阅和发布系统及其方法,系统包括数据发布模块和数据订阅模块;数据订阅模块包括条件输入模块和逻辑处理模块;数据发布模块通过异构数据描述标准文件描述异构数据的信息,并通过配置将所描述的异构数据与相关的其他数据进行关联;数据发布模块通过数据描述标准转换的配置文件,为数据描述标准转换提供相应的配置信息。可满足用户跨表订阅需求,解决了订阅条件的组合问题,在组件化设计各个功能模块,为了方便系统移植的同时,具有很好的用户体验。方法包括数据发布和订阅两个步骤,在海量异构动态数据的订阅问题中,解决订阅条件的组合问题和数据的异构性问题,实现联合订阅。
Description
技术领域
本发明涉及数据交换领域,具体地说是涉及一种可配置的异构数据的订阅及发布系统,以及利用该系统进行数据交换的方法。
背景技术
随着信息技术的飞速发展,实践积累了大规模具有海量、动态和类型多样等特点的业务数据。如何及时高效地从这些海量异构动态数据获取所需数据是当前数据交换领域迫切需要解决的问题。数据订阅与发布技术通过按照用户预设条件主动提供数据不失为解决上述问题的有效途径。
对于海量异构动态数据的订阅,不仅需要考虑订阅条件的组合(即与或非逻辑关系的组合),而且还需考虑数据的异构性(数据模式不一,数据类型多样),不仅如此,用户常常希望在多个数据间实现联合订阅(对于数据库来说就是跨表订阅)。
然而现有同类专利中不能同时解决上述问题。如要同时订阅数据库表中的本表字段,和外键字段指向的外键表中的其他字段,就需要将外键表的字段信息进行配置。但是现有同类专利不能配置这些信息,只能订阅本表字段;同时,对于大量异构数据进行条件订阅时,需要对异构数据的类型进行配置,但是现有同类专利大多数是对每一种数据设计一种订阅方案,包括订阅条件的添加方式,没有一种统一的异构数据描述标准可遵循,从而很难解决异构数据的订阅和发布,以及异构数据订阅条件的组合问题。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种可配置的数据订阅和发布系统及其方法,可配置的数据订阅和发布系统可满足用户跨表订阅需求,解决了订阅条件的组合问题,在组件化设计各个功能模块,为了方便系统移植的同时,具有很好的用户体验;方法在海量异构动态数据的订阅问题中,解决订阅条件的组合问题,和数据的异构性问题,并解决了用户在多个数据间的联合订阅(即跨表订阅)需求。
技术方案:一种可配置的数据订阅和发布系统,包括数据发布模块和数据订阅模块;所述数据订阅模块包括条件输入模块和逻辑处理模块;所述数据发布模块通过异构数据描述标准文件描述异构数据的信息,并通过配置将所描述的异构数据与相关的其他数据进行关联,从而实现用户联合订阅多个数据的需求;所述数据发布模块通过数据描述标准转换的配置文件,为数据描述标准转换提供相应的配置信息;所述条件输入模块用于实现用户输入订阅条件信息;所述逻辑处理模块用于处理和解决订阅条件的组合,从而将用户输入的订阅条件,转换为计算机可以识别和处理的条件语句。
所述异构数据描述标准文件,是一个JSON格式的文件;所述数据描述标准转换的配置文件,是一个XML格式的文件;
所述数据描述标准转换的配置文件为数据描述标准转换提供相应的配置信息,其中配置信息包含数据描述信息的存放位置和类型转换的配置信息;系统根据所述数据描述信息的存放位置读取数据描述信息;类型转换的配置信息记录数据类型名称,所对应的模型所采用的数据类型名称,从而解决了不同系统的类型名称差异。
所述数据发布模块和数据订阅模块,是基于Java EE平台,使用了Struts2、Hibernate3框架技术和基于Dojo的AJAX框架技术;数据发布模块和数据订阅模块上设有Dojo组件,开发者只需调用组件提供的函数接口,无需编写任何与界面有关的前台代码,便能显示美观的用户界面,从而提供了很好的用户体验。在用户界面的显示与销毁的全过程中,都由已编写好的Dojo组件在网页上自动生成和销毁相应的DOM节点,界面美观方便。
一种可配置的数据订阅和发布方法,包括数据发布和数据订阅步骤:
对于每一种XML格式,给出一个配置文件,利用配置文件提供的信息,将这些XML格式的数据表描述标准,转换成JSON格式的异构数据描述标准。
所述数据发布步骤为:首先,需要一个配置文件,用于描述对本次发布的一个或多个具有相同结构的数据表。在系统成功接收并解析配置文件后,便按照系统提出的异构数据描述标准,对数据表文件进行解析。数据表描述来源可以是文件,也可以是数据库。如果是文件,则只需解析相应的XML文件即可。如果是数据库,则系统需要接收一个数据库配置文件,对所要读取的数据库的相关信息进行配置说明,从而从数据库自动导入数据表信息。
所述数据订阅步骤为:首先,系统将已发布的订阅表分页显示给订阅用户,由订阅用户选择一个进行订阅。在订阅界面,系统会以树形结构显示表字段,通过对字段的选择,可以订阅该字段所对应的数据,同时,可以对字段添加和修改订阅条件。当订阅条件添加完成后,系统会根据这些条件,自动生成计算机能够识别的条件语句,连同订阅请求进行提交,从而完成用户的订阅请求。
有益效果:与现有技术相比,本发明所提供的系统和方法,通过配置,灵活地解决了不同系统中对数据类型描述之间的差异性,使得数据订阅和发布模型能够自动识别异构数据的类型,从而根据类型自动生成相应的订阅条件输入控件,极大地方便了用户描述其订阅请求,增强了用户体验。同时,将与该数据有关的其他数据信息进行配置,可解决用户在多个数据间的联合订阅(即跨表订阅)请求。
附图说明
图1为本发明实施例的功能模块图;
图2为本发明实施例的异构数据描述标准文件的内容结构图;
图3为本发明实施例的标准转换配置文件的内容结构图;
图4为本发明实施例的数据发布流程图;
图5本发明实施例的数据订阅流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
可配置的数据订阅和发布系统1由数据发布模块2和数据订阅模块3两个模块组成。
数据发布模块2包括异构数据描述标准文件4和数据描述标准转换的配置文件5两个部分。
异构数据描述标准文件4中包括数据类型8、关联数据9两部分。其中数据类型8是对异构数据的数据类型的描述信息,数据类型包括整型、浮点型、时间类型、日期类型、日期时间类型、字符串型。关联数据9是与该数据相关的其他数据的配置信息,这些信息用于用户实现数据间的联合订阅(即跨表订阅),将与该数据相关的其他数据的信息进行配置,在用户订阅该数据的同时,可以连同所配置的其他数据一起订阅。
数据描述标准转换的配置文件5中包括类型转换信息10、读取位置信息11两部分。其中类型转换信息10是类型转换的配置信息,对于不同的系统,描述同一种数据类型,可能采用不同的名称,通过配置数据类型名称的对应转换关系,可将不同系统所采用的不同名称,统一成相同的数据类型名称,便于数据订阅和发布模型正确识别数据类型,解决了不同系统描述数据类型时的差异性。读取位置信息11是读取位置的配置信息,不同的系统,对于异构数据的描述标准不同,这些标准记录信息的位置也不同,通过对信息的含义和信息的存储位置进行配置,可将异构数据的描述信息,从不同的描述标准中读取出来,从而转换成本发明所提出的异构数据描述标准文件4。
数据订阅模块3包括调节输入模块6和逻辑处理模块7两部分。
调节输入模块6用于用户添加、编辑、删除订阅条件,提供了类型匹配12、格式检查13、用户界面14三个功能。用户界面14采用Dojo 1.7框架技术设计和实现,经组件化设计,可在网页上动态生成和销毁相应的HTML的DOM节点,开发人员只需调用组件所给出的函数接口,即可在网页上自动生成和销毁相应的用户界面14,而无需编写任何网页前台代码。
逻辑处理模块7用于处理和解决订阅条件的组合,从而将用户输入的订阅条件,转换为计算机可以识别和处理的条件语句。订阅条件之间的组合方式,是以与、或、非三种逻辑关系为基础的,包括并含、或含、并含排除、或含排除4种。而订阅条件的类型包括单值类型、区间类型两种,其中:单值类型包括大于、大于等于、等于、小于等于、小于、不等于6种;区间类型包括开区间、左闭右开区间、左开右闭区间、闭区间4种。逻辑处理模块7中提供了条件检查15这个功能,可以对条件的合法性进行检查,包括区间类型的条件,区间左值是否大于或等于右值的检查,以及条件之间组合后,是否发生结果为空集的检查。
如图2所示,在数据库中,数据是以表的形式进行存放,每一种数据对应一个表,数据的每一个属性对应表中的一个字段。一个表含有一个或多个字段。在数据库中,表名和字段名是以英文记录的,对于用户来说意义不明确,所以会有对应的显示名,用来更精确描述名字的含义。
该标准采用JSON格式,解析速度快,信息表述准确。
如图3所示,目前各数据发布者所管理的数据表,大多采用XML格式进行描述,不仅如此,各种数据库管理系统(DBMS)如Oracle、MySQL、SQL Server等,都支持将数据库表信息导出成XML格式。所以,异构数据描述标准的转换,即是将这些XML格式转换成本系统采用的统一标准的JSON格式。
如图4所示,由于XML格式的异构数据描述的标准不统一,又不能为每种XML格式都设计一个标准转换的方案。需要一种可配置的标准转换方案,对于每一种XML格式,给出一个配置文件,利用配置文件提供的信息,将这些XML格式的数据表描述标准,转换成本发明提出的JSON格式的异构数据描述标准。
首先,需要一个配置文件,用于描述对本次发布的一个(或多个具有相同结构的)数据表。在系统成功接收并解析配置文件后,便按照系统提出的异构数据描述标准,对数据表文件进行解析。数据表描述来源可以是文件,也可以是数据库。如果是文件,则只需解析相应的XML文件即可。如果是数据库,则系统需要接收一个数据库配置文件,对所要读取的数据库的相关信息进行配置说明,从而从数据库自动导入数据表信息。
如图5所示,首先,模型将已发布的订阅表分页显示给订阅用户,由订阅用户选择一个进行订阅。在订阅界面,模型会以树形结构显示表字段,通过对字段的选择,可以订阅该字段所对应的数据,同时,可以对字段添加和修改订阅条件。当订阅条件添加完成后,系统会根据这些条件,自动生成计算机能够识别的条件语句,连同订阅请求进行提交,从而完成用户的订阅请求。
Claims (5)
1.一种可配置的数据订阅和发布系统,其特征在于:包括数据发布模块和数据订阅模块;所述数据订阅模块包括条件输入模块和逻辑处理模块;所述数据发布模块通过异构数据描述标准文件描述异构数据的信息,并通过配置将所描述的异构数据与相关的其他数据进行关联,从而实现用户联合订阅多个数据的需求;所述数据发布模块通过数据描述标准转换的配置文件,为数据描述标准转换提供相应的配置信息;所述条件输入模块用于实现用户输入订阅条件信息;所述逻辑处理模块用于处理和解决订阅条件的组合,从而将用户输入的订阅条件,转换为计算机可以识别和处理的条件语句。
2.如权利要求1所述的可配置的数据订阅和发布系统,其特征在于:所述异构数据描述标准文件,是一个JSON格式的文件;所述数据描述标准转换的配置文件,是一个XML格式的文件。
3.如权利要求1所述的可配置的数据订阅和发布系统,其特征在于:所述数据描述标准转换的配置文件为数据描述标准转换提供相应的配置信息,其中配置信息包含数据描述信息的存放位置和类型转换的配置信息;系统根据所述数据描述信息的存放位置读取数据描述信息;类型转换的配置信息记录数据类型名称。
4.如权利要求1所述的可配置的数据订阅和发布系统,其特征在于:所述数据发布模块和数据订阅模块,是基于Java EE平台,通过Struts2、Hibernate3框架技术和基于Dojo的AJAX框架技术实现;数据发布模块和数据订阅模块上设有Dojo组件。
5.一种可配置的数据订阅和发布方法,其特征在于,包括数据发布和数据订阅步骤:
所述数据发布步骤为:首先,通过配置文件描述对当前发布的一个或多个具有相同结构的数据表;然后,在接收并解析配置文件后,按照提出的异构数据描述标准,对数据表文件进行解析;所述数据表描述来源是文件或数据库,如果是文件,则解析相应的XML文件,如果是数据库,则接收一个数据库配置文件,对所要读取的数据库的相关信息进行配置说明,从而从数据库自动导入数据表信息;
所述数据订阅步骤为:首先,将已发布的订阅表显示给订阅用户,由订阅用户选择一个进行订阅;其次,在订阅界面,以树形结构显示订阅表字段,通过对字段的选择,订阅该字段所对应的数据,同时,通过字段的添加和修改实现添加和修改订阅条件;最后,当订阅条件确定之后,根据订阅条件,自动生成计算机能够识别的条件语句,连同订阅请求进行提交,从而完成用户的订阅请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210229891.9A CN102789491B (zh) | 2012-07-03 | 2012-07-03 | 一种可配置的数据订阅和发布系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210229891.9A CN102789491B (zh) | 2012-07-03 | 2012-07-03 | 一种可配置的数据订阅和发布系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102789491A true CN102789491A (zh) | 2012-11-21 |
CN102789491B CN102789491B (zh) | 2016-03-16 |
Family
ID=47154894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210229891.9A Active CN102789491B (zh) | 2012-07-03 | 2012-07-03 | 一种可配置的数据订阅和发布系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102789491B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978331A (zh) * | 2014-04-04 | 2015-10-14 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 增加数据采集项的方法及系统 |
CN105407024A (zh) * | 2015-09-23 | 2016-03-16 | 中国电子科技集团公司第二十九研究所 | 一种基于发布订阅通信机制的异构数据互通方法及装置 |
CN105488223A (zh) * | 2015-12-28 | 2016-04-13 | 中国民航信息网络股份有限公司 | 业务数据事件的分析订阅方法及系统 |
CN105580011A (zh) * | 2013-08-28 | 2016-05-11 | 泰必高软件公司 | 消息匹配 |
CN105653272A (zh) * | 2015-12-25 | 2016-06-08 | 国云科技股份有限公司 | 一种基于云平台资源监控数据转换器的发布器实现方法 |
CN107968805A (zh) * | 2016-10-20 | 2018-04-27 | 华为技术有限公司 | 一种事件通知方法及服务器 |
CN108282529A (zh) * | 2018-01-23 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 发布和订阅数据的系统、方法和装置 |
CN109165055A (zh) * | 2018-08-30 | 2019-01-08 | 百度在线网络技术(北京)有限公司 | 一种组件加载方法、装置、计算机设备及存储介质 |
CN111143707A (zh) * | 2018-11-05 | 2020-05-12 | 千寻位置网络有限公司 | 播发链路选择方法和装置 |
CN112289394A (zh) * | 2020-08-12 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 病种库病例订阅方法及装置、存储介质、终端 |
CN113094614A (zh) * | 2019-12-23 | 2021-07-09 | 中国移动通信集团湖南有限公司 | 一种数据分发方法、系统及装置 |
CN114025026A (zh) * | 2021-10-25 | 2022-02-08 | 中国航空无线电电子研究所 | 基于xml数据描述的面向数据分发服务的收发方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081661A (zh) * | 2011-01-19 | 2011-06-01 | 吉林大学 | 基于xml的异构关系型数据库的数据集成方法和系统 |
CN102081656A (zh) * | 2011-01-12 | 2011-06-01 | 江苏梦兰神彩科技发展有限公司 | 一种跨平台异构数据库的数据采集与分发系统 |
CN102385635A (zh) * | 2011-12-14 | 2012-03-21 | 湖南科技大学 | 一种基于本体模式的异构数据集成方法 |
-
2012
- 2012-07-03 CN CN201210229891.9A patent/CN102789491B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081656A (zh) * | 2011-01-12 | 2011-06-01 | 江苏梦兰神彩科技发展有限公司 | 一种跨平台异构数据库的数据采集与分发系统 |
CN102081661A (zh) * | 2011-01-19 | 2011-06-01 | 吉林大学 | 基于xml的异构关系型数据库的数据集成方法和系统 |
CN102385635A (zh) * | 2011-12-14 | 2012-03-21 | 湖南科技大学 | 一种基于本体模式的异构数据集成方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105580011B (zh) * | 2013-08-28 | 2019-05-10 | 泰必高软件公司 | 用于消息匹配的系统、方法和有形计算机可读存储介质 |
CN105580011A (zh) * | 2013-08-28 | 2016-05-11 | 泰必高软件公司 | 消息匹配 |
CN104978331B (zh) * | 2014-04-04 | 2019-02-19 | 北京北方华创微电子装备有限公司 | 增加数据采集项的方法及系统 |
CN104978331A (zh) * | 2014-04-04 | 2015-10-14 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 增加数据采集项的方法及系统 |
CN105407024A (zh) * | 2015-09-23 | 2016-03-16 | 中国电子科技集团公司第二十九研究所 | 一种基于发布订阅通信机制的异构数据互通方法及装置 |
CN105407024B (zh) * | 2015-09-23 | 2019-04-09 | 中国电子科技集团公司第二十九研究所 | 一种基于发布订阅通信机制的异构数据互通方法及装置 |
CN105653272A (zh) * | 2015-12-25 | 2016-06-08 | 国云科技股份有限公司 | 一种基于云平台资源监控数据转换器的发布器实现方法 |
CN105488223A (zh) * | 2015-12-28 | 2016-04-13 | 中国民航信息网络股份有限公司 | 业务数据事件的分析订阅方法及系统 |
CN105488223B (zh) * | 2015-12-28 | 2020-04-28 | 中国民航信息网络股份有限公司 | 业务数据事件的分析订阅方法及系统 |
CN107968805A (zh) * | 2016-10-20 | 2018-04-27 | 华为技术有限公司 | 一种事件通知方法及服务器 |
CN107968805B (zh) * | 2016-10-20 | 2020-10-27 | 华为技术有限公司 | 一种事件通知方法及服务器 |
CN108282529A (zh) * | 2018-01-23 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 发布和订阅数据的系统、方法和装置 |
CN108282529B (zh) * | 2018-01-23 | 2021-08-24 | 百度在线网络技术(北京)有限公司 | 发布和订阅数据的系统、方法和装置 |
CN109165055A (zh) * | 2018-08-30 | 2019-01-08 | 百度在线网络技术(北京)有限公司 | 一种组件加载方法、装置、计算机设备及存储介质 |
CN111143707A (zh) * | 2018-11-05 | 2020-05-12 | 千寻位置网络有限公司 | 播发链路选择方法和装置 |
CN113094614A (zh) * | 2019-12-23 | 2021-07-09 | 中国移动通信集团湖南有限公司 | 一种数据分发方法、系统及装置 |
CN112289394A (zh) * | 2020-08-12 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 病种库病例订阅方法及装置、存储介质、终端 |
CN114025026A (zh) * | 2021-10-25 | 2022-02-08 | 中国航空无线电电子研究所 | 基于xml数据描述的面向数据分发服务的收发方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102789491B (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102789491A (zh) | 一种可配置的数据订阅和发布系统及其方法 | |
CN102567539B (zh) | 一种web智能报表的实现方法和系统 | |
CN105022615A (zh) | 一种界面的生成方法和系统 | |
CN102426587B (zh) | 一种基于复杂产品异构bom的定制查询方法 | |
CN101739452A (zh) | 一种数据交换接口及其实现方法 | |
CN102141992B (zh) | 多维数据库存储及查询的方法 | |
CN102999537A (zh) | 一种数据迁移系统和方法 | |
CN103473108A (zh) | 一种Java代码生成方法 | |
CN101609473B (zh) | 一种重构报表查询的结构化查询语言的方法及装置 | |
CN107679071B (zh) | 一种面向关系数据库的通用数据服务定制化封装方法 | |
CN102646039A (zh) | 基于XML Schema的软件界面生成系统及方法 | |
CN102541541A (zh) | 界面生成方法和装置 | |
CN104216961A (zh) | 一种数据处理方法和装置 | |
CN103631596A (zh) | 业务对象数据录入及更新规则的配置装置和配置方法 | |
CN104933173A (zh) | 一种用于异构多数据源的数据处理方法、装置和服务器 | |
CN102567027A (zh) | 界面框架构建系统和界面框架构建方法 | |
CN102207861A (zh) | 一种业务中个性化信息展现方法 | |
CN102591960A (zh) | 农业经济电子地图数据服务接口方法 | |
CN104317936A (zh) | 一种基于星型模型的rolap解析引擎设计方法及装置 | |
CN102902811A (zh) | 一种快速生成树结构的数据库设计方法 | |
CN102866986A (zh) | 一种文档格式转换系统 | |
CN101408909A (zh) | 一种产品信息模型描述方法 | |
Gómez et al. | TemporalEMF: A temporal metamodeling framework | |
CN116775605A (zh) | 一种基于人工智能的产业数据管理和共享平台 | |
CN104572939A (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 |