CN109088931A - 面向分布式系统的数据发布方法、装置、系统及存储介质 - Google Patents
面向分布式系统的数据发布方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN109088931A CN109088931A CN201810947139.5A CN201810947139A CN109088931A CN 109088931 A CN109088931 A CN 109088931A CN 201810947139 A CN201810947139 A CN 201810947139A CN 109088931 A CN109088931 A CN 109088931A
- Authority
- CN
- China
- Prior art keywords
- data
- producer
- consumer
- version
- receipt
- 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.)
- Pending
Links
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
Abstract
一种面向分布式系统的数据发布方法、装置、系统及计算机可读存储介质,设置生产者、中间人、消费者三种系统角色,各角色之间定时轮询,在需要同步数据时,建立连接同步数据,并更新数据版本。所述方法包括:生产者生成并保存原始数据;生产者根据中间人的反馈发送所述原始数据;中间人接收生产者发送的所述原始数据;消费者根据需要向所述中间人获取所述原始数据。通过上述方法,本发明能够有效减少数据发布时间,减少系统资源浪费。
Description
技术领域
本发明涉及分布式系统领域,具体涉及一种面向分布式系统的数据发布方法、装置、系统及计算机可读存储介质。
背景技术
在分布式系统中,同一份数据通常被多套系统所应用。为保证数据的高可用,通常,我们会将数据从源系统发布至需要应用的系统。这个过程称为数据发布。这些数据副本会存储在不同的系统中。为了对用户提供正确可靠的服务,我们需要保证这些放置在不同系统上的数据副本是一致的,即数据的一致性。
目前,分布式系统的数据发布多有以下三个特点:1、发布数据量大,2、涉及系统多,3、发布环境复杂。与此同时,数据发布方法也存在如下问题:1、发布时间长,2、发布流程复杂。目前,常用的数据发布方法为二阶段提交方法。二阶段提交方法将系统角色分为两类:一类为协调者,通常只有一个;另一类为事务参与者,通常包含多个。二阶段提交将数据发布分为两个阶段,分别为请求阶段和提交阶段。在请求阶段,协调者将通知事务参与者准备提交或取消事务,然后进入表决过程。在表决过程中,参与者将告知协调者自己的决策:同意或取消。在提交阶段,协调者将基于第一个阶段的投票结果进行决策:提交或取消。当且仅当所有的参与者同意提交事务协调者才通知所有的参与者提交事务,否则协调者将通知所有的参与者取消事务。参与者在接收到协调者发来的消息后将执行响应的操作。二阶段提交方法有如下缺点:(1)消耗时间长。由于需要同步所有角色的状态,以及数据发布时大规模地传输,二阶段提交的耗时能够长达几分钟至几十分钟不等。(2)浪费系统资源。由于数据发布可能会随时进行,所以协调者与参与者需要一直保持连接状态。这会消耗浪费系统大量的资源。
发明内容
为了解决现有技术数据发布过程中的消耗时间长与浪费系统资源的问题,本发明主要力图提出一种高效的数据发布方法、装置、系统及计算机可读存储介质,能够有效地发布数据;同时,与其它数据发布方法相比,减少消耗时间,减少资源浪费。
为了达到上述目的,本发明的第一方面提供了一种面向分布式系统的数据发布方法,包括如下步骤:
生产者生成并保存原始数据;
生产者根据中间人的反馈发送所述原始数据;
中间人接收生产者发送的所述原始数据;
消费者根据需要向所述中间人获取所述原始数据。
在一些实施例中,所述原始数据为生产者的当前生产数据的最新版本的数据。
在一些实施例中,包括如下步骤:
生产者每隔一定时间T检查中间人发送的回执;若回执中的版本号与当前数据版本的版本号不一致,则向中间人发送当前数据版本的数据,并保存该版本号为已发送数据的版本号;
中间人获取数据完毕,更新数据版本,并向生产者发送回执;
消费者每隔一定时间T,向中间人查询最新的数据版本;
若最新的数据版本与消费者当前的数据版本不一致,则消费者向中间人发送获取数据请求,然后转到下一步;否则,返回上一步;
中间人向消费者发送最新数据版本的数据;
消费者获取数据完毕,更新数据版本,并向中间人发送回执。
在一些实施例中,所述中间人向生产者发送的回执包括:数据版本号、数据发送方名称、数据接收方名称和/或数据量大小。
在一些实施例中,所述消费者向中间人发送的回执包括:数据版本号和/或数据量大小。
本发明的第二方面提供了一种面向分布式系统的数据发布装置,包括:生产者、中间人和消费者;
生产者用来生成并保存原始数据,并根据中间人的反馈发送所述原始数据;
中间人接收生产者发送的所述原始数据,并向消费者提供数据同步的服务;
消费者根据需要从所述中间人获取所述原始数据。
在一些实施例中,所述原始数据为生产者的当前数据版本的数据。
在一些实施例中,还包括:
生产者轮询单元和生产者数据发送单元,所述生产者轮询单元用于每隔一定时间T检查中间人发送的回执;若回执中的版本号与当前数据版本的版本号不一致,所述生产者数据发送单元向中间人发送当前数据版本的数据,并保存该版本号为已发送数据的版本号;
中间人数据接收单元,用于接收生产者发送的数据;当中间人获取数据完毕,更新数据版本,并向生产者发送回执;
消费者轮询单元,用于每隔一定时间T,向中间人查询最新的数据版本;若最新的数据版本与消费者当前的数据版本不一致,则向中间人发送获取数据请求;
中间人数据发送单元,中间人向消费者发送最新数据版本的数据;
消费者数据接收单元,用于接收中间人发送的数据,当获取数据完毕,更新数据版本,并向中间人发送回执。
本发明的第三方面提供了一种面向分布式系统的数据发布系统,该系统包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器用于执行如前所述的方法。
本发明的第四方面提供了一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可操作来执行如前所述的方法。
综上所述,本发明一种面向分布式系统的数据发布方法、装置、系统及计算机可读存储介质,所述方法包括由生产者生成并保存原始数据,并根据中间人的需要发送所述原始数据;中间人接收生产者发送的所述原始数据,并向消费者提供数据同步的服务;消费者根据需要从所述中间人获取所述原始数据。本发明的上述技术方案通过面向分布式系统的数据发布方法,设置三种系统角色,各角色之间定时轮询,在需要同步数据时,建立连接同步数据,并更新数据版本。通过上述技术方案,本发明能够有效减少数据发布时间,减少系统资源浪费。
附图说明
图1是本发明的数据流向图;
图2是本发明的数据发布方法流程图;
图3是本发明的一个具体实施例的数据发布方法流程图;
图4是本发明的一个具体实施例的数据发布装置结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
面向分布式系统的数据发布方法详细设计如下。首先,方法中包含三种系统角色,分别为生产者110,中间人120及消费者130,如图1所示。其中,生产者负责生产并保存原始数据,是数据的源头;所述原始数据为生产者的当前数据版本的数据;中间人接收生产者发送的数据,并负责向消费者提供数据同步的服务;消费者负责向中间人轮询并获取数据,数据流方向如图1所示。
本发明以一实施例来说明数据发布方法的具体步骤,本发明的第一方面提供了一种面向分布式系统的数据发布方法200,如图2所示,包括如下步骤:
步骤210、生产者生成并保存原始数据;所述原始数据为生产者的当前生产数据的最新版本的数据,并包括所述数据的版本号。所述最新版本的数据的版本号应大于之前版本的数据的版本号。
步骤220、生产者根据中间人的反馈发送所述原始数据。
具体的,生产者每隔一定时间T检查中间人发送的回执;若回执中的版本号与当前数据版本的版本号不一致,则向中间人发送当前数据版本的数据,并保存该版本号为已发送数据的版本号。进一步的,所述回执中的版本号与当前数据版本的版本号不一致为回执中的版本号小于当前数据版本的版本号。该具体实施例的方法流程如图3所示。
步骤230、中间人接收生产者发送的所述原始数据;获取数据完毕后,更新数据版本,并向生产者发送回执。所述回执包括:数据版本号、数据发送方名称、数据接收方名称和/或数据量大小等信息。
步骤240、消费者根据需要向所述中间人获取所述原始数据。
具体的,消费者每隔一定时间T向中间人查询中间人所保存最新的数据版本;若该最新的数据版本与消费者当前的数据版本不一致,则向中间人发送获取数据请求。所述最新的数据版本与消费者当前数据版本不一致为最新的数据版本的版本号大于消费者当前数据版本的版本号。中间人接收到消费者的获取数据请求后,向消费者发送最新数据版本的数据;消费者获取数据完毕,更新数据版本,并向中间人发送回执。所述回执包括数据版本号和/或数据量大小等信息。如果所述中间人保存的最新的数据版本与消费者当前的数据版本一致,则消费者继续保持每隔一定时间向中间人进行查询。
经过上述方法流程,本发明能够有效地发布数据,在分布式系统中保持生产者、中间人、消费者之间的数据版本高度一致,在最新的数据版本发布后,使消费者在很短的时间内就能更新旧的数据版本。
本发明的另一方面提供了一种面向分布式系统的数据发布装置,包括:生产者、中间人和消费者,如图1所示;
所述生产者用来生成并保存原始数据,并根据中间人的反馈发送所述原始数据;所述原始数据为生产者的当前数据版本的数据;
所述中间人接收生产者发送的所述原始数据,并向消费者提供数据同步的服务;
所述消费者根据需要从所述中间人获取所述原始数据。
进一步的,所述数据发布装置400还包括,如图4所示:
生产者轮询单元410和生产者数据发送单元420,所述生产者轮询单元用于每隔一定时间T检查中间人发送的回执;若回执中的版本号与当前数据版本的版本号不一致,所述生产者数据发送单元向中间人发送当前数据版本的数据,并保存该版本号为已发送数据的版本号;
中间人数据接收单元430,用于接收生产者发送的数据;当中间人获取数据完毕,更新数据版本,并向生产者发送回执;
消费者轮询单元450,用于每隔一定时间T,向中间人查询最新的数据版本;若最新的数据版本与消费者当前的数据版本不一致,则向中间人发送获取数据请求;
中间人数据发送单元440,中间人向消费者发送最新数据版本的数据;
消费者数据接收单元460,用于接收中间人发送的数据,当获取数据完毕,更新数据版本,并向中间人发送回执。
本发明的第三方面提供了一种面向分布式系统的数据发布系统,该系统包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器用于执行如前所述的方法。
本发明的第四方面提供了一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可操作来执行如前所述的方法。
综上所述,本发明提供了一种面向分布式系统的数据发布方法、装置、系统及计算机可读存储介质,设置生产者、中间人、消费者三种系统角色,各角色之间定时轮询,在需要同步数据时,建立连接同步数据,并更新数据版本。所述方法包括:生产者生成并保存原始数据;生产者根据中间人的反馈发送所述原始数据;中间人接收生产者发送的所述原始数据;消费者根据需要向所述中间人获取所述原始数据。本发明的技术方案能够有效减少数据发布时间,减少系统资源浪费。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (10)
1.一种面向分布式系统的数据发布方法,其特征在于,包括如下步骤:
生产者生成并保存原始数据;
生产者根据中间人的反馈发送所述原始数据;
中间人接收生产者发送的所述原始数据;
消费者根据需要向所述中间人获取所述原始数据。
2.根据权利要求1所述的面向分布式系统的数据发布方法,其特征在于,所述原始数据为生产者的当前生产数据的最新版本的数据。
3.根据权利要求2所述的面向分布式系统的数据发布方法,其特征在于,包括如下步骤:
生产者每隔一定时间T检查中间人发送的回执;若回执中的版本号与当前数据版本的版本号不一致,则向中间人发送当前数据版本的数据,并保存该版本号为已发送数据的版本号;
中间人获取数据完毕,更新数据版本,并向生产者发送回执;
消费者每隔一定时间T,向中间人查询最新的数据版本;
若最新的数据版本与消费者当前的数据版本不一致,则消费者向中间人发送获取数据请求,然后转到下一步;否则,返回上一步;
中间人向消费者发送最新数据版本的数据;
消费者获取数据完毕,更新数据版本,并向中间人发送回执。
4.根据权利要求3所述的面向分布式系统的数据发布方法,其特征在于,所述中间人向生产者发送的回执包括:数据版本号、数据发送方名称、数据接收方名称和/或数据量大小。
5.根据权利要求3所述的面向分布式系统的数据发布方法,其特征在于,所述消费者向中间人发送的回执包括:数据版本号和/或数据量大小。
6.一种面向分布式系统的数据发布装置,其特征在于,包括:生产者、中间人和消费者;
生产者用来生成并保存原始数据,并根据中间人的反馈发送所述原始数据;
中间人接收生产者发送的所述原始数据,并向消费者提供数据同步的服务;
消费者根据需要从所述中间人获取所述原始数据。
7.根据权利要求6所述的面向分布式系统的数据发布装置,其特征在于,所述原始数据为生产者的当前数据版本的数据。
8.根据权利要求7所述的面向分布式系统的数据发布装置,其特征在于,还包括:
生产者轮询单元和生产者数据发送单元,所述生产者轮询单元用于每隔一定时间T检查中间人发送的回执;若回执中的版本号与当前数据版本的版本号不一致,所述生产者数据发送单元向中间人发送当前数据版本的数据,并保存该版本号为已发送数据的版本号;
中间人数据接收单元,用于接收生产者发送的数据;当中间人获取数据完毕,更新数据版本,并向生产者发送回执;
消费者轮询单元,用于每隔一定时间T,向中间人查询最新的数据版本;若最新的数据版本与消费者当前的数据版本不一致,则向中间人发送获取数据请求;
中间人数据发送单元,中间人向消费者发送最新数据版本的数据;
消费者数据接收单元,用于接收中间人发送的数据,当获取数据完毕,更新数据版本,并向中间人发送回执。
9.一种面向分布式系统的数据发布系统,其特征在于,该系统包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器用于执行权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可操作来执行权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947139.5A CN109088931A (zh) | 2018-08-20 | 2018-08-20 | 面向分布式系统的数据发布方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947139.5A CN109088931A (zh) | 2018-08-20 | 2018-08-20 | 面向分布式系统的数据发布方法、装置、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109088931A true CN109088931A (zh) | 2018-12-25 |
Family
ID=64794048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810947139.5A Pending CN109088931A (zh) | 2018-08-20 | 2018-08-20 | 面向分布式系统的数据发布方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109088931A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314369A (zh) * | 2011-10-09 | 2012-01-11 | 杭州先锋电子技术股份有限公司 | 一种远程在线监控系统中设备自升级方法 |
CN105302607A (zh) * | 2015-11-04 | 2016-02-03 | 上海斐讯数据通信技术有限公司 | 一种远程升级系统 |
CN105337904A (zh) * | 2014-08-05 | 2016-02-17 | 杭州华三通信技术有限公司 | 控制器集群的升级方法及装置 |
CN107332716A (zh) * | 2017-08-15 | 2017-11-07 | 北京云端智度科技有限公司 | 一种提高大型分布式系统配置效率的方法 |
CN107463511A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于多级缓存的数据国际化实现方法及装置 |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
-
2018
- 2018-08-20 CN CN201810947139.5A patent/CN109088931A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314369A (zh) * | 2011-10-09 | 2012-01-11 | 杭州先锋电子技术股份有限公司 | 一种远程在线监控系统中设备自升级方法 |
CN105337904A (zh) * | 2014-08-05 | 2016-02-17 | 杭州华三通信技术有限公司 | 控制器集群的升级方法及装置 |
CN105302607A (zh) * | 2015-11-04 | 2016-02-03 | 上海斐讯数据通信技术有限公司 | 一种远程升级系统 |
CN107463511A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于多级缓存的数据国际化实现方法及装置 |
CN107332716A (zh) * | 2017-08-15 | 2017-11-07 | 北京云端智度科技有限公司 | 一种提高大型分布式系统配置效率的方法 |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10453010B2 (en) | Computer device, method, and apparatus for scheduling business flow | |
WO2017125015A1 (zh) | 分布式系统工作流处理方法和工作流引擎系统 | |
US20080155525A1 (en) | Synchronization patterns for mobile applications | |
KR101618476B1 (ko) | 휴대용 컴퓨팅 디바이스에서 분산 리소스 관리 | |
CN111176697A (zh) | 服务实例部署方法、数据处理方法及集群联邦 | |
US20180034709A1 (en) | Method and Device for Asset Information Management | |
US11704616B2 (en) | Systems and methods for distributed business processmanagement | |
CN112527474B (zh) | 任务处理方法及装置、设备、可读介质、计算机程序产品 | |
CN110880100A (zh) | 业务审批的处理方法、装置及系统 | |
US20200226011A1 (en) | Policy-based distributed transactional processing in a distributed system | |
CN109002462A (zh) | 一种实现分布式事物的方法及系统 | |
JP2002324155A (ja) | ワークフロー・システムおよびプログラム | |
CN110737510B (zh) | 块设备管理系统 | |
JP2008112311A (ja) | ビジネスプロセス実行方法、ビジネスプロセス実行システムおよびプログラム | |
CN109088931A (zh) | 面向分布式系统的数据发布方法、装置、系统及存储介质 | |
CN107465725B (zh) | 基于客户信息控制系统的异构长事务处理系统及方法 | |
CN112686580A (zh) | 一种可自定义流程的工作流定义方法及系统 | |
CN113535684B (zh) | 一种基于Activiti的自主指挥控制方法 | |
CN109032779B (zh) | 任务处理方法、装置、计算机设备及可读存储介质 | |
US9239720B2 (en) | Device and method for generating application model based on layered structure | |
CN107479982B (zh) | 一种数据同步的方法及终端 | |
CN115630122A (zh) | 一种数据同步方法、装置、存储介质和计算机设备 | |
US20210240698A1 (en) | Asynchronous remote calls with undo data structures | |
CN115082038A (zh) | 系统集成方法、装置及电子设备 | |
CN113900821A (zh) | 任务处理方法及装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181225 |