CN110096358A - 动力装备远程中心分布式存储与分布式计算方法 - Google Patents

动力装备远程中心分布式存储与分布式计算方法 Download PDF

Info

Publication number
CN110096358A
CN110096358A CN201910288298.3A CN201910288298A CN110096358A CN 110096358 A CN110096358 A CN 110096358A CN 201910288298 A CN201910288298 A CN 201910288298A CN 110096358 A CN110096358 A CN 110096358A
Authority
CN
China
Prior art keywords
data
child servers
calculating
chain drive
failure
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
Application number
CN201910288298.3A
Other languages
English (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong 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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201910288298.3A priority Critical patent/CN110096358A/zh
Publication of CN110096358A publication Critical patent/CN110096358A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了动力装备远程中心分布式存储与分布式计算方法,涉及数据处理技术领域,包括步骤:通过数据主服务器转发客户端读取请求读取数据子服务器机组数据并自动进行失败重连;通过数据主服务器转发客户端写入请求将机组数据写入数据子服务器,以半同步的方式完成实时同步,以失败记录日志保证数据一致性;通过定时器发布计算任务至计算主服务器,并将计算任务分配至计算子服务器,在分配任务失败后自动重发任务。本发明通过半同步的方式保障实时同步,通过失败记录日志解决分布式系统中的数据一致性问题;定时监测计算资源的状态,在将计算任务发送后等待其确认当前状态后执行并在开始计算前确认其计算能力,提高了系统的稳定性和可靠性。

Description

动力装备远程中心分布式存储与分布式计算方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种动力装备远程中心分布式存储与分布式计算方法。
背景技术
工业动力装备是当今大部分企业重要的动力源,是不可或缺的设备。为了保持动力设备运行的可靠和稳定性,动力装备运行需要建立设备远程监控中心对设备的原始数据和计算数据进行监控管理,随着技术方面的飞速发展,需要处理的数据量越来越大,在企业应用方面,为了更好及时的掌握数据信息,采用远程中心分布式存储数据,可以更好地及时掌握价值,对未来进行调控和检测,让工业动力装备处于良好的工作状态。分布式存储和计算技术也为当前海量数据处理提供了一种高效处理方式。相对于以往的数据存储和计算技术,分布式存储具有对数据存储更安全,数据读取更快捷的优点。数据的分布式计算架构速度快,能及时发现问题。
分布式系统中,问题主要集中在分布式存储和分布式计算两个方面。
在分布式存储方面,常规的分布式存储架构,比如HDFS等,更专注于大批量数据或文件的快速存储与读取问题,且无法利用数据库的一些优良特性。而使用数据库自带的同步功能,数据同步对开发者来说并不是完全透明的,出现问题也难以进行追溯;同时,数据一致性的保障,往往需要牺牲实时性,因为正常逻辑下,需要所有服务器数据一致后,才能返回结果。
在分布式计算方面,现有的分布式计算架构如Hadoop及Map/Reduce侧重解决繁重计算任务的分解、并行计算与结果汇总。而很多运算是很难进行并行化设计的,比如迭代式的计算,后面一步的执行需要前一步的结果。这要求一个完整的运算只能在单台服务器上运行。
目前已有的基于资源统一调度的分布式资源调度方法,其在可用资源的确认上不具有实用性,优先级的确定由人为确定,无法在实际运行中计算资源的动态变化特性。
因此,本领域的技术人员致力于开发一种动力装备远程中心分布式存储与分布式计算方法,不基于任何第三方平台提供的同步方案,以简单易行的“半同步”逻辑在尽可能保证同步的实时性,通过失败记录日志保障数据的最终一致性。另外专门设置定时器,用以实时监测计算资源的状态,同时在计算任务分发给指定slave后等待其确认当前状态后执行,否则提交给其他slave。通过定期判断slave状态,和开始计算前再次确认计算资源相结合,极大地提高了系统的稳定性和可靠性。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何解决大量计算任务并发而单个计算任务无法进行拆分的问题。
为实现上述目的,本发明提供了一种动力装备远程中心分布式存储与分布式计算方法,所述方法包括以下步骤:
步骤1、通过数据主服务器转发客户端数据读取请求,读取存储在数据子服务器上的机组数据,并自动进行失败重试;
步骤2、通过数据主服务器转发客户端数据写入请求,将机组数据写入数据子服务器,以半同步的方式完成实时同步,以失败记录日志的方式保证数据一致性;
步骤3、通过定时器发布计算任务至计算主服务器,由计算主服务器将计算任务分配至计算子服务器,并在分配任务失败后自动重发任务。
进一步地,所述步骤1包括以下步骤:
步骤1.1、客户端将数据读取请求发送给数据主服务器;
步骤1.2、数据主服务器根据配置信息,定位机组数据所在可用数据子服务器地址;
步骤1.3、转发客户端的需求到该数据子服务器地址,如果成功返回数据,则将该数据转发给客户端,如果没有成功返回数据,则会迭代调用自身,重发请求;
步骤1.4、重复步骤1.3,直到遍历完所有可用数据子服务器,若仍然无法获得数据,则返回“无可用服务器或无数据”信息。
进一步地,所述步骤2包括以下步骤:
步骤2.1、客户端发送一个数据写入请求至数据主服务器;
步骤2.2、数据主服务器定位至该机组数据所在所有数据子服务器地址;
步骤2.3、向每一台数据子服务器上均发送写入请求,如果有一台执行写入请求成功,并正确返回结果,则返回结果给客户端写入请求成功的信息,如果部分或者全部数据子服务器执行写入请求失败,则将失败信息记录到失败记录日志中,等待后续定时任务进行处理,并将拥有失败记录日志的数据子服务器地址标记为不可用状态。
进一步地,所述步骤3包括以下步骤:
步骤3.1、第一定时器每隔第一时间段发布计算任务,调用计算主服务器的计算接口,使其自动进行任务的分配;
步骤3.2、如果计算任务分配失败,则每隔第二时间段自动重试,若重试次数达到最大重试次数仍不成功,则跳过此次计算任务。
进一步地,所述步骤2还包括以下步骤:
设置第二定时器,定时监测数据子服务器状态,一旦数据子服务器恢复正常,则把失败记录日志中记录的未执行的指令,按照时间顺序逐一执行,然后将该数据子服务器标记为可用状态。
进一步地,所述失败信息至少包括下述一种:指令信息、请求时间、数据子服务器地址。
进一步地,所述步骤3.1还包括以下步骤:
步骤3.1.1、计算主服务器根据CPU和内存生成可用计算子服务器列表和权重,设可用计算子服务器总数为N,并设n=1;
步骤3.1.2、判断n是否小于或等于N,若是,向序号为n的计算子服务器分配计算任务,并等待序号为n的计算子服务器确认是否执行运算,若否,则返回分配失败的结果至第一定时器,并跳到步骤3.2;
步骤3.1.3、如果计算序号为n的计算子服务器确认执行运算,返回分配成功的结果至第一定时器,结束计算任务,否则,将n递增1并重复执行步骤3.1.2至步骤3.1.3。
进一步地,所述第一时间段为1至10分钟。
进一步地,所述第二时间段为1至10秒。
进一步地,所述最大重试次数为2至100次。
本发明的有益技术效果为:
1、标记无法正常连接与拥有未处理写错误历史的服务器为不可用状态,后续访问数据对其不进行访问,作为保障数据一致性的基础。
2、读操作中只有服务器可用才进行读取操作。这是为了保证数据是可靠的。
3、写操作中,单台服务器成功即返回成功,而其他尚未完成执行的,或执行失败的则记录在日志系统中,以此保障实时性。
4、写错误日志的定期处理,只有当子服务器连接状态发生改变时,才进行写错误日志的处理。
5、计算任务的调度与计算内容是解耦的,调度只负责监控计算资源的可用情况,通过权重生成可用资源列表,进行任务分发。
6、逐个任务下发,通过“消息队列”的形式进行任务分发,一定程度上缓解了高并发带来的不稳定因素。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的分布式存储读取流程图;
图2是本发明的一个较佳实施例的分布式存储写入流程图;
图3是本发明的一个较佳实施例的分布式计算流程图。
具体实施方式
以下参考说明书附图介绍本发明的优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
本发明的目的是在于提供分布式存储和分布式计算。本发明通过以下步骤实现:
(1)如图1所示,分布式存储读取流程为:客户端1将数据读取请求发送给数据主服务器2(DBMaster),数据主服务器2(DBMaster)根据配置信息(不同数据所在的数据子服务器Worker地址),定位机组数据所在可用数据子服务器Worker地址,当第一数据子服务器31(Worker1)和第二数据子服务器32(Worker2)都为可用状态时,则二者的数据一定是一致的,这是通过写数据时的操作保证的,然后转发客户端1的需求到该数据子服务器Worker地址,如果成功返回数据,则将该数据转发给客户端1,如果没有成功返回数据,则会迭代调用自身,重发请求,直到遍历完所有可用数据子服务器Worker,若仍然无法获得数据,则返回“无可用服务器或无数据”信息。
(2)如图2所示,分布式存储写入流程为:客户端1发送一个数据写入请求至数据主服务器2(DBMaster),数据主服务器2(DBMaster)定位至该机组数据所在所有数据子服务器Worker地址(即使不可用也要进行记录,方便不可用状态变成可用状态后的数据恢复),并向每一台数据子服务器Worker上均发送写请求,只要有一台执行写入请求成功,并正确返回结果,则返回给客户端1写入请求成功的信息,这种一台成功即认为同步成功的方式在本发明中称作半同步;如果部分(可以是全部)数据子服务器Worker执行写入请求失败,则将失败信息(包含指令信息、请求时间、Worker地址等)记录到失败记录日志4中,等待后续定时任务进行处理。同时,拥有失败记录日志的数据子服务器Worker地址都视作不可用的,也就是说后续访问数据时不会被访问到,以此保证,可用的Worker上的数据一定是最新的且准确的。
(3)另外专门设置相应的第二定时器,定时监测数据子服务器Worker的状态,一旦数据子服务器Worker恢复正常,则把失败记录日志4中记录的未执行的指令,按照时间顺序逐一执行,然后将该数据子服务器Worker状态变成可用状态,这时该数据子服务器Worker上的数据也是最新的和准确的。通过可用状态的设置、日志记录系统、定时恢复功能保障了数据库实例之间的数据一致性。且写数据时,单台数据子服务器Worker成功即返回,一定程度上保障了实时性。
(4)如图3所示,分布式计算流程为:第一定时器5每隔10分钟发布计算任务,调用计算主服务器6(CalMaster)的计算接口,使其自动进行计算任务的分配。计算主服务器6根据可用计算子服务器Worker列表(由CPU和内存决定)和权重,生成可用计算器列表,分配计算任务。将计算任务发送后等待其确认当前状态后执行,否则提交给其他Worker。通过定期判断Worker状态,同时在开始计算前确认计算能力。本实施例中,可用计算子服务器有第一计算子服务器71、第二计算子服务器72、第三计算子服务器73。计算主服务器首先向第一计算子服务器71分配计算任务,等待其确认是否执行运算。如果第一计算子服务器71确认执行运算,返回结果为分配成功,否则依次向第二计算子服务器72、第三计算子服务器73重新分配计算任务,等待其确认是否执行运算。只要有一台计算子服务器确认执行运算,返回结果为分配成功,此次计算任务结束,否则返回结果为分配失败(无可用计算机)。如果分配失败,则每隔10s会自动重试,最多重试10次,若仍不成功,则跳过此次计算任务。需要注意的是,这里只是看分配的成功与失败,计算过程中如果出现意外情况导致计算失败,则由模型内部进行处理,本模块只负责任务的分发,不负责计算结果的反馈。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (10)

1.一种动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述方法包括以下步骤:
步骤1、通过数据主服务器转发客户端数据读取请求,读取存储在数据子服务器上的机组数据,并自动进行失败重试;
步骤2、通过数据主服务器转发客户端数据写入请求,将机组数据写入数据子服务器,以半同步的方式完成实时同步,以失败记录日志的方式保证数据一致性;
步骤3、通过定时器发布计算任务至计算主服务器,由计算主服务器将计算任务分配至计算子服务器,并在分配任务失败后自动重发任务。
2.如权利要求1所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述步骤1包括以下步骤:
步骤1.1、客户端将数据读取请求发送给数据主服务器;
步骤1.2、数据主服务器根据配置信息,定位机组数据所在可用数据子服务器地址;
步骤1.3、转发客户端的需求到该数据子服务器地址,如果成功返回数据,则将该数据转发给客户端,如果没有成功返回数据,则会迭代调用自身,重发请求;
步骤1.4、重复步骤1.3,直到遍历完所有可用数据子服务器,若仍然无法获得数据,则返回“无可用服务器或无数据”信息。
3.如权利要求1所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述步骤2包括以下步骤:
步骤2.1、客户端发送一个数据写入请求至数据主服务器;
步骤2.2、数据主服务器定位至该机组数据所在所有数据子服务器地址;
步骤2.3、向每一台数据子服务器上均发送写入请求,如果有一台执行写入请求成功,并正确返回结果,则返回结果给客户端写入请求成功的信息,如果部分或者全部数据子服务器执行写入请求失败,则将失败信息记录到失败记录日志中,等待后续定时任务进行处理,并将拥有失败记录日志的数据子服务器地址标记为不可用状态。
4.如权利要求1所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述步骤3包括以下步骤:
步骤3.1、第一定时器每隔第一时间段发布计算任务,调用计算主服务器的计算接口,使其自动进行任务的分配;
步骤3.2、如果计算任务分配失败,则每隔第二时间段自动重试,若重试次数达到最大重试次数仍不成功,则跳过此次计算任务。
5.如权利要求3所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述步骤2还包括以下步骤:
设置第二定时器,定时监测数据子服务器状态,一旦数据子服务器恢复正常,则把失败记录日志中记录的未执行的指令,按照时间顺序逐一执行,然后将该数据子服务器标记为可用状态。
6.如权利要求3所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述失败信息至少包括下述一种:指令信息、请求时间、数据子服务器地址。
7.如权利要求4所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述步骤3.1还包括以下步骤:
步骤3.1.1、计算主服务器根据所有计算子服务器的CPU和内存资源使用情况,生成可用计算子服务器列表和权重,并设可用计算子服务器总数为N,以及n=1;
步骤3.1.2、判断n是否小于或等于N,若是,向序号为n的计算子服务器分配计算任务,并等待序号为n的计算子服务器确认是否执行运算,若否,则返回分配失败的结果至第一定时器,并跳到步骤3.2;
步骤3.1.3、如果计算序号为n的计算子服务器确认执行运算,返回分配成功的结果至第一定时器,结束计算任务,否则,将n递增1并重复执行步骤3.1.2至步骤3.1.3。
8.如权利要求4所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述第一时间段为1至10分钟。
9.如权利要求4所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述第二时间段为1至10秒。
10.如权利要求4所述的动力装备远程中心分布式存储与分布式计算方法,其特征在于,所述最大重试次数为2至100次。
CN201910288298.3A 2019-04-11 2019-04-11 动力装备远程中心分布式存储与分布式计算方法 Pending CN110096358A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910288298.3A CN110096358A (zh) 2019-04-11 2019-04-11 动力装备远程中心分布式存储与分布式计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910288298.3A CN110096358A (zh) 2019-04-11 2019-04-11 动力装备远程中心分布式存储与分布式计算方法

Publications (1)

Publication Number Publication Date
CN110096358A true CN110096358A (zh) 2019-08-06

Family

ID=67444667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910288298.3A Pending CN110096358A (zh) 2019-04-11 2019-04-11 动力装备远程中心分布式存储与分布式计算方法

Country Status (1)

Country Link
CN (1) CN110096358A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629056A (zh) * 2020-05-27 2020-09-04 浙江百世技术有限公司 一种网络请求处理方法及应用

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019853A (zh) * 2012-11-19 2013-04-03 北京亿赞普网络技术有限公司 一种作业任务的调度方法和装置
CN103873321A (zh) * 2014-03-05 2014-06-18 国家电网公司 基于分布式文件系统的仿真分布式并行计算平台及方法
CN104035817A (zh) * 2014-07-08 2014-09-10 领佰思自动化科技(上海)有限公司 大规模集成电路物理实现的分布式并行计算方法及其系统
CN105589887A (zh) * 2014-10-24 2016-05-18 中兴通讯股份有限公司 分布式文件系统的数据处理方法及分布式文件系统
CN105760240A (zh) * 2014-12-16 2016-07-13 航天信息股份有限公司 分布式任务处理方法及装置
CN105824810A (zh) * 2015-01-04 2016-08-03 中国移动通信集团河北有限公司 一种Hadoop集群系统及数据处理方法
CN107426265A (zh) * 2016-03-11 2017-12-01 阿里巴巴集团控股有限公司 数据一致性同步的方法及设备
CN109032536A (zh) * 2018-08-31 2018-12-18 郑州云海信息技术有限公司 基于分布式集群系统的数据存储方法、装置、系统及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019853A (zh) * 2012-11-19 2013-04-03 北京亿赞普网络技术有限公司 一种作业任务的调度方法和装置
CN103873321A (zh) * 2014-03-05 2014-06-18 国家电网公司 基于分布式文件系统的仿真分布式并行计算平台及方法
CN104035817A (zh) * 2014-07-08 2014-09-10 领佰思自动化科技(上海)有限公司 大规模集成电路物理实现的分布式并行计算方法及其系统
CN105589887A (zh) * 2014-10-24 2016-05-18 中兴通讯股份有限公司 分布式文件系统的数据处理方法及分布式文件系统
CN105760240A (zh) * 2014-12-16 2016-07-13 航天信息股份有限公司 分布式任务处理方法及装置
CN105824810A (zh) * 2015-01-04 2016-08-03 中国移动通信集团河北有限公司 一种Hadoop集群系统及数据处理方法
CN107426265A (zh) * 2016-03-11 2017-12-01 阿里巴巴集团控股有限公司 数据一致性同步的方法及设备
CN109032536A (zh) * 2018-08-31 2018-12-18 郑州云海信息技术有限公司 基于分布式集群系统的数据存储方法、装置、系统及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629056A (zh) * 2020-05-27 2020-09-04 浙江百世技术有限公司 一种网络请求处理方法及应用
CN111629056B (zh) * 2020-05-27 2023-04-07 浙江百世技术有限公司 一种网络请求处理方法及应用

Similar Documents

Publication Publication Date Title
CN1783132B (zh) 通过工作流事务的批处理来同步运行库和应用状态
CN105357038B (zh) 监控虚拟机集群的方法和系统
CN108536532B (zh) 一种批量任务处理方法及系统
KR101126979B1 (ko) 분산형 고장 허용 및 고가용성 컴퓨팅 시스템
CN112073269B (zh) 区块链网络测试方法、装置、服务器及存储介质
CN102880503B (zh) 数据分析系统及数据分析方法
US7523196B2 (en) Session monitoring using shared memory
US8538793B2 (en) System and method for managing real-time batch workflows
CN109426550B (zh) 资源的调度方法及设备
CN106843945B (zh) 基于PaaS的GIS应用部署方法及系统
CN108491254A (zh) 一种数据仓库的调度方法及装置
US9553929B2 (en) Episodic coordination model for distributed applications
CN113064744A (zh) 任务处理方法、装置、计算机可读介质及电子设备
CN113094362A (zh) 一种异步消息可靠投递和处理的方法和装置
CN111930489A (zh) 一种任务调度方法、装置、设备及存储介质
CN110096358A (zh) 动力装备远程中心分布式存储与分布式计算方法
CN110737510A (zh) 块设备管理系统
CN109840138A (zh) 一种企业管理数据分析处理系统及其方法
CN111401752A (zh) 一种飞轮储能调频共享处理方法、装置、系统及电子设备
CN112825525A (zh) 用于处理事务的方法和装置
US11016807B2 (en) Intermediary system for data streams
JP5136200B2 (ja) ログ記録システム
US20120296951A1 (en) System and method to execute steps of an application function asynchronously
CN114546629B (zh) 任务执行系统、方法、服务器及计算机可读存储介质
CN110597603A (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

Application publication date: 20190806

RJ01 Rejection of invention patent application after publication