CN103324520B - 一种基于条件合并与共享的订阅方法 - Google Patents

一种基于条件合并与共享的订阅方法 Download PDF

Info

Publication number
CN103324520B
CN103324520B CN201310245202.8A CN201310245202A CN103324520B CN 103324520 B CN103324520 B CN 103324520B CN 201310245202 A CN201310245202 A CN 201310245202A CN 103324520 B CN103324520 B CN 103324520B
Authority
CN
China
Prior art keywords
condition
subscriber
entry
filtrator
subscription
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.)
Active
Application number
CN201310245202.8A
Other languages
English (en)
Other versions
CN103324520A (zh
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.)
Zhiying Future Xi'an Information Technology Co ltd
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201310245202.8A priority Critical patent/CN103324520B/zh
Publication of CN103324520A publication Critical patent/CN103324520A/zh
Application granted granted Critical
Publication of CN103324520B publication Critical patent/CN103324520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明涉及一种基于条件合并与共享的订阅方法,技术特征:建立订阅者到过滤器和方法的映射作为一级缓冲区,建立订阅条件到订阅者集合的映射作为二级缓冲区;检测一级缓冲区中是否已存在该条目的订阅者,如果存在则进行过滤器归并;不存在则将该条目作为新的元素加入到一级缓冲区中;对一级缓冲区的每一个元素的过滤器进行拆分,按照条件加入到二级缓冲区中;如果二级缓冲区已存在该条件,就将新元素的订阅者加入到该条目对应的订阅者集合中,如果不存在该条件,就新建立一个映射关系,并将该条目加入;最后按照条件将订阅者加入到订阅数据结构中。本发明通过缩短交易周期,更加适应瞬息万变的市场环境。

Description

一种基于条件合并与共享的订阅方法
技术领域
本发明涉及一种基于条件合并与共享的订阅方法,
背景技术
在期货市场是目前最流行的术语是“算法交易”,和规模的金融出版物充满内容的算法交易,如果交易商不在算法交易技术和工具的贸易,那么,董事会是很难对他的管理期货业的“大雅之堂”。大多数这些讲的是“量化交易”的申请手续超高速算法交易,超短期交易,以确定市场机会的瞬间,并迅速增长,以便反映,所有这些都是在几毫秒的时间。算法交易又称自动交易、黑盒交易或者机器交易,它指的是通过使用计算机程序来发出交易指令的方法。在交易中,程序可以决定的范围包括交易时间的选择、交易的价格,甚至包括最后需要成交的证券数量。由于这种交易需要在短时间内汇总大量数据并对其数据做出精确判断,因此本文基于条件合并与共享的订阅机制研究是将过量的冗余事件在处理器无法立即处理的情况下,将过量的冗余事件存入缓冲区,并在缓冲区对这些冗余数据融合精简,最后再提供给处理器。
在复合事件的订阅匹配方面,当前的复合事件***大都为基于内容的发布订阅***。订阅者在事件的内容上来指定约束条件,表达他们的兴趣,事件流向哪里的决策是由订阅者声明的查询和谓词决定的。基于内容的***其订阅数目比基于主题的***的主题的数目要大得多。在当前较有影响的原型***Gryphon、SIENA、JEDI和Rebeca中,订阅条件的表达与替换往往采用通配符和二次订阅的方式。通配符的方式通过将内容订阅退化为通配符匹配的过程,订阅过程中很小的订阅条件变更都转换为整个订阅***的重构。二次订阅方式通过取消先前的订阅条件并再次订阅的方式完成,这样的实现首先使得***耗费很大吞吐量在处理订阅条件的变更,当变更频繁时很有可能使得***中大多代理者都把时间花在变更订阅条件而不是事件过滤上;另外为了保障再次订阅***的正确性往往需要备份上一订阅条件,这也增加了***开销。当前的订阅匹配算法中,Gough等人提出了一种基于搜索树的匹配算法,但算法的订阅维护的成本很高,每当客户增加订阅或取消订阅时,***难以对该搜索树进行修改以反映订阅的变化,而必须要重建搜索树;Aguilera等人提出了一种基于并行搜索树的算法,该算法的空间复杂度与订阅数量呈线性关系,当客户有大量增加或取消订阅时,订阅维护的成本也较高;Campailla等人提出一种基于二叉判定图(binarydecisiondiagram)的算法,该算法虽然在效率和应用情况上都做了优化,但仍然受限于订阅条件的频繁变更。研究复合事件的订阅条件与匹配算法的关系不难发现,匹配算法的研究已经相对成熟,是订阅条件谓词的传统定义方式无法与匹配算法很好结合才造成了当前这些研究无法直接支持各类应用***中的频繁订阅情况。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于条件合并与共享的订阅方法,在订阅***中,当订阅的消息过多时,将暂时无法处理订阅放入缓冲区,由于订阅条件中可能存在大量的冗余数据,缓冲区可以将这些冗余数据归并,从而减少处理的订阅个数,提升其效率。
技术方案
一种基于条件合并与共享的订阅方法,其特征在于步骤如下:
步骤1:建立订阅者到过滤器和方法的映射作为一级缓冲区,建立订阅条件到订阅者集合的映射作为二级缓冲区;
步骤2:当有新条目到来时,检测一级缓冲区中是否已存在该条目的订阅者,如果存在则进行过滤器归并;不存在则将该条目作为新的元素加入到一级缓冲区中;
判断两个条目的方法是否相同,如果相同就对两个过滤器进行加法操作,如果不同的话就对两个过滤器进行减法操作。如果减法操作的结果为负的话,就将方法取反,并将过滤器的负号去掉;
步骤3:对一级缓冲区的每一个元素的过滤器进行拆分,按照条件加入到二级缓冲区中;
对于二级缓冲区,当有新元素到来时,如果二级缓冲区已存在该条件,就将新元素的订阅者加入到该条目对应的订阅者集合中,如果不存在该条件,就新建立一个映射关系,并将该条目加入;
步骤4:最后按照条件将订阅者加入到订阅数据结构中。
有益效果
本发明提出的一种基于条件合并与共享的订阅方法,在缓冲区中对冗余的订阅条件进行归并,精简了订阅条件,从而提高了订者遍历缓冲区的速度,增加了订阅匹配的效率。通过缩短交易周期,更加适应瞬息万变的市场环境。
附图说明
图1一级缓冲区处理流程图;
图2二级缓冲区处理流程图。
具体实施方式
现结合实施例、附图对本发明作进一步描述:
数据结构:
订阅条目item:订阅条目由三部分组成,分别是订阅者subscriber,过滤器filter,操作方法method。filter为订阅条件集合,Method为sub订阅一个filter,unsub取消订阅一个filter,sub与unsub为一对逆运算,即sub=-unsub。
一级缓冲区:一级缓冲区主要用来维护同一个订阅者的订阅归并。采取HashMap的数据结构,以订阅者subscriber为map中的key值,以filter+method为map中的value值。
二级缓冲区:二级缓冲区用来归并不同订阅者但具有相同或部分相同的filter的订购。当多个订购具有相同的或部分相同的filter时,可以在一次***订阅条件时同时注册多个订阅者,这样不管有多少订阅,对于订购条件而言至多遍历一次,不会有重复的访问,相当于将多次订阅过程简化到了一次。二级缓冲区采取HashMap的数据结构,根据method的不同分别加入两个HashMap:sub-map和unsub-map。以分解后的filter的条件为map中的key值,以订阅者集合HashSet为map中的value值。
算法:
一级缓冲区:当新的条目item2到来时,首先检测HashMap是否已经存在该订阅者的条目,如果不存在,则将新条目加入,操作结束。如果存在itme1,则根据已存在的method和新条目的method进行如下集合操作:如果itme1的method与item2的method相同,则itme1.f=itme1.f+itme2.f,
否则itme1.f=itme1.f-itme2.f,若结果为“负”值,则将itme1的method取反,并将结果的负号去掉。
二级缓冲区:对于一级buffer中已经归并好的item,首先根据item的method的不同确定分别加入两种不同的HashMap。然后分解itme1.f,f中的每一个条件都作为一个条目***二级缓冲区的HashMap中,并将对应的订阅者加入该条件对应的订阅者集合中。订阅开始时,分别根据sub-map和unsub-map进行操作。
为使本发明的目的、技术方案和优点更加清楚,下面结合实例对本发明作进一步的详细描述。所举实例只用于解释本发明,并非用于限定本发明的范围。
一级缓冲区实例:
Filter1{x>1,y=5}
Filter2{x=3,y=5}
Filter3{x<6,y=5}
二级缓冲区实例:
一级缓冲区归并实例:
二级缓冲区分解实例:
suber4<->Filter4{x<6,y=5,z=6}通化过程。

Claims (1)

1.一种基于条件合并与共享的订阅方法,其特征在于步骤如下:
步骤1:建立订阅者到过滤器和方法的映射作为一级缓冲区,建立订阅条件到订阅者集合的映射作为二级缓冲区;
步骤2:当有新条目到来时,检测一级缓冲区中是否已存在该条目的订阅者,如果存在则进行过滤器归并;不存在则将该条目作为新的元素加入到一级缓冲区中;
判断两个条目的方法是否相同,如果相同就对两个过滤器进行加法操作,如果不同的话就对两个过滤器进行减法操作;如果减法操作的结果为负的话,就将条目的方法取反,并将过滤器的负号去掉;
步骤3:对一级缓冲区的每一个元素的过滤器进行拆分,按照条件加入到二级缓冲区中;
对于二级缓冲区,当有新元素到来时,如果二级缓冲区已存在该条件,就将新元素的订阅者加入到该条目对应的订阅者集合中,如果不存在该条件,就新建立一个映射关系,并将该条目加入;
步骤4:最后按照条件将订阅者加入到订阅数据结构中。
CN201310245202.8A 2013-06-19 2013-06-19 一种基于条件合并与共享的订阅方法 Active CN103324520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310245202.8A CN103324520B (zh) 2013-06-19 2013-06-19 一种基于条件合并与共享的订阅方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310245202.8A CN103324520B (zh) 2013-06-19 2013-06-19 一种基于条件合并与共享的订阅方法

Publications (2)

Publication Number Publication Date
CN103324520A CN103324520A (zh) 2013-09-25
CN103324520B true CN103324520B (zh) 2016-04-06

Family

ID=49193284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310245202.8A Active CN103324520B (zh) 2013-06-19 2013-06-19 一种基于条件合并与共享的订阅方法

Country Status (1)

Country Link
CN (1) CN103324520B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430060B (zh) * 2015-11-04 2018-06-19 中国人民解放军63680部队 条件约束发布订阅模式航天测控数据交换***
CN108234584A (zh) * 2016-12-22 2018-06-29 北京奇虎科技有限公司 基于变更订阅构建移动广告的方法和装置
CN113992741B (zh) * 2020-07-10 2023-06-20 华为技术有限公司 一种发布数据索引方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090512A (zh) * 2006-06-12 2007-12-19 捷讯研究有限公司 向移动装置的动态内容混合模式传递的***和方法
CN101295311A (zh) * 2008-06-17 2008-10-29 浙江大学 一种大规模发布订阅***的语义匹配算法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0521355D0 (en) * 2005-10-19 2005-11-30 Ibm Publish/subscribe system and method for managing subscriptions
GB0623914D0 (en) * 2006-11-30 2007-01-10 Ibm Flexible topic identification in a publish/subscribe system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090512A (zh) * 2006-06-12 2007-12-19 捷讯研究有限公司 向移动装置的动态内容混合模式传递的***和方法
CN101295311A (zh) * 2008-06-17 2008-10-29 浙江大学 一种大规模发布订阅***的语义匹配算法

Also Published As

Publication number Publication date
CN103324520A (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
JP7273045B2 (ja) Sqlクエリプランを最適化するための次元コンテキスト伝搬技術
CN104767813B (zh) 基于openstack的公众行大数据服务平台
EP3259668B1 (en) System and method for generating an effective test data set for testing big data applications
CN104412265B (zh) 更新用于促进应用搜索的搜索索引
US10572296B2 (en) System and method for a data processing architecture
CN111143681A (zh) 一种资讯推荐装置、方法、设备及***
CN110019267A (zh) 一种元数据更新方法、装置、***、电子设备及存储介质
WO2019047441A1 (zh) 一种通信优化方法及***
CN106341444A (zh) 数据访问方法和装置
CN112287015A (zh) 画像生成***及其方法、电子设备及存储介质
CN103324520B (zh) 一种基于条件合并与共享的订阅方法
CN114461603A (zh) 多源异构数据融合方法及装置
CN107480268A (zh) 数据查询方法及装置
CN104199889A (zh) 基于CEP技术的RTLogic大数据处理***及方法
Chen et al. Real-time analytics: Concepts, architectures and ML/AI considerations
Ibtisum A Comparative Study on Different Big Data Tools
Ji et al. The network structure of Chinese finance market through the method of complex network and random matrix theory
CN114153862A (zh) 业务数据处理方法、装置、设备及存储介质
CN109522537A (zh) 专利编撰与分析应用软件
Zhang et al. Precise marketing of precision marketing value chain process on the H group line based on big data
CN112395371A (zh) 一种金融机构资产分类处理方法、装置及可读介质
Lv [Retracted] Real Estate Marketing Adaptive Decision‐Making Algorithm Based on Big Data Analysis
Hu et al. 5G‐Oriented IoT Big Data Analysis Method System
EP4174678A1 (en) Cloud analysis scenario-based hybrid query method and system, and storage medium
Belyaev et al. Towards efficient dissemination and filtering of XML data streams

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
TR01 Transfer of patent right

Effective date of registration: 20221026

Address after: 710065 Room 11805, Unit 1, Building 1, No. Chazhang Road, Hi tech Zone, Xi'an, Shaanxi

Patentee after: Zhiying Future (Xi'an) Information Technology Co.,Ltd.

Address before: 710072 No. 127 Youyi West Road, Shaanxi, Xi'an

Patentee before: Northwestern Polytechnical University

TR01 Transfer of patent right