CN110764742A - 一种气候观测数据线性相关度高速计算方法及系统 - Google Patents
一种气候观测数据线性相关度高速计算方法及系统 Download PDFInfo
- Publication number
- CN110764742A CN110764742A CN201910993465.4A CN201910993465A CN110764742A CN 110764742 A CN110764742 A CN 110764742A CN 201910993465 A CN201910993465 A CN 201910993465A CN 110764742 A CN110764742 A CN 110764742A
- Authority
- CN
- China
- Prior art keywords
- service
- calculation
- correlation
- linear correlation
- observation data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种气候观测数据线性相关度高速计算方法及系统,包括以下步骤:构建独立的相关度计算服务;构建相关度计算服务集群;相关度计算;返回数据并展示;还包括Web服务器、Nginx负载均衡代理和至少一个线性相关计算服务器,Web服务器包括Jboss容器、Nginx服务器和GPU服务器,线性相关计算服务器包括至少一个线性相关计算服务;Web服务器通过Nginx负载均衡代理连接线性相关计算服务器。从底层到架构层进行优化,基于分布式架构完成加速计算过程,加快气候分析的处理效率,同时使算法保持较好的扩展性;使得线性相关算法在使用SOA架构的开发平台上能加快开发效率,与其他气候分析算法之间保持低耦合、易集成的特性。
Description
技术领域
本发明涉及气候分析领域,尤其涉及一种基于气候观测数据线性相关度高速计算方法及系统。
背景技术
在气候分析领域,人们经历了从无到有,从手工到计算机计算的过程,计算机的高速发展为气候分析涉及到的大量计算提供了便利。目前的大多数气候分析算法实现方式都是通过FORTRAN或JAVA语言来实现,或调用Matlab、BLAS等软件的函数来实现。其中,在对气候历史观测资料进行线性相关分析时,由于资料具有尺度范围大、站点数量多、要素种类多等特点,并且随着观测技术的发展和时间的累积,观测资料数据量也在不断增加,而站点数量是影响线性相关分析速度的直接原因,站点数量的增加导致完成一次线性相关分析需要对大量的站点进行计算,完成一次分析的过程非常缓慢,平均耗时约为1-2分钟,严重影响气候相关业务的效率;在用户数较多时情况更严重,甚至可能会导致系统崩溃或死机。同时,Matlab是商业软件,源代码不对外开放,存在代码上的“黑匣子”,是严重的安全性问题。这一系列因素严重影响了气候分析相关业务的效率。
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
发明内容
为了解决上述问题,本发明提出一种气候观测数据线性相关度高速计算方法及系统,从底层到架构层进行优化,基于分布式架构完成加速计算过程,加快气候分析的处理效率,同时使算法保持较好的扩展性。
一种气候观测数据线性相关度高速计算方法,包括以下步骤:构建独立的相关度计算服务,实现气候观测数据线性相关度计算;构建相关度计算服务集群,将单个独立的相关度计算服务,部署到一个或多个物理机上,形成相关度计算服务集群,提供大量用户并发计算能力;相关度计算,相关度计算站点向负载均衡代理发起相关度计算请求,负载均衡代理分配相关度计算服务完成站点请求的相关度计算服务;站点利用返回的相关度计算中间结果,展示气候观测数据分析结果。
进一步的,站点请求相关度计算服务,包括以下步骤:S1:对站点观测数据进行预处理;S2:建立相关度计算线程池,并对单个站点建立计算任务;S4:负载均衡代理接收各站点的计算任务,并分配给相关度计算服务;S5:相关度计算服务接收站点数据完成计算,并返回计算结果;S6:对计算结果数据再处理,并进行展示。相关度计算基于皮尔逊(Pearson)相关系数公式,具体是利用NumPy将输入数据转为矩阵,然后根据皮尔逊相关系数公式求得相关度。
进一步的,构建独立的相关度计算服务,包括以下两种方式:A.使用Python的多进程一次完成所有相关度计算的并行化,再将其构建为一个Socket服务;B.直接使用Python构建一个Socket服务。相关度计算服务通过Nginx进行部署,配合Nginx的相关配置,使其构成一个相关度服务负载均衡集群,相关度计算服务部署,包括以下两种方式:A.在一台物理机、虚拟机或应用容器引擎Docker内安装好单个服务所必备的运行环境,拷贝算法源,开启服务;将次服务地址添加到Nginx配置文件中,刷新Nginx的配置完成单个服务到集群的一次添加;B.使用应用容器引擎Docker配置一个容器,通过配置定义镜像生成流程的Dockerfile文件,以该容器为基础开启多个服务,实现服务的快速部署,每台物理机上运行一个或多个独立的相关度计算服务,所述相关度计算服务以双机热备份方式运行,实现故障转移和高可用环境,避免单点故障,保障算法的稳定运行。
进一步的,一种气候观测数据线性相关度高速计算系统,包括Web服务器、Nginx负载均衡代理和至少一个线性相关计算服务器,Web服务器包括Jboss容器、Nginx服务器和GPU服务器,线性相关计算服务器包括至少一个线性相关计算服务;Web服务器通过Nginx负载均衡代理连接线性相关计算服务器。
本发明的有益效果在于:本发明从底层到架构层进行优化,基于分布式架构完成加速计算过程,加快气候分析的处理效率,在短时间内需要需要处理大量分析计算时,可以通过热部署技术在需要不间断运行算法服务的同时,升级算法服务,使算法保持较好的扩展性,线性相关的算法使用集群服务实现,通过双机热备等技术,可以实现故障转移和高可用环境,避免单点故障,保障算法的稳定运行,使得线性相关算法在使用SOA架构的开发平台上能加快开发效率,与其他气候分析算法之间保持低耦合、易集成的特性。同时算法实现所依赖的库和算法实现全部有源代码可供查询,避免了“黑匣子”问题。
附图说明
图1是气候观测数据线性相关度高速计算方法的流程图;
图2是相关度计算服务部分算法示例;
图3是相关度计算服务集群部署结构示意图。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
一种气候观测数据线性相关度高速计算方法,包括以下步骤:构建独立的相关度计算服务,实现气候观测数据线性相关度计算;构建相关度计算服务集群,将单个独立的相关度计算服务,部署到一个或多个物理机上,形成相关度计算服务集群,提供大量用户并发计算能力;相关度计算,相关度计算站点向负载均衡代理发起相关度计算请求,负载均衡代理分配相关度计算服务完成站点请求的相关度计算服务;站点利用返回的相关度计算中间结果,展示气候观测数据分析结果。
如图1所示,站点请求相关度计算服务,包括以下步骤:S1:对站点观测数据进行预处理;S2:建立相关度计算线程池,并对单个站点建立计算任务;S4:负载均衡代理接收各站点的计算任务,并分配给相关度计算服务;S5:相关度计算服务接收站点数据完成计算,并返回计算结果;S6:对计算结果数据再处理,并进行展示。
进一步的,所述相关度计算服务根据皮尔逊相关系数公式求得相关度。如图2所示,利用NumPy将输入数据转为矩阵,并求出皮尔逊相关系数公式中的涉及到的数据,最后求得相关度。构建相关度计算服务的方式包括以下两种:一种是使用Python的多进程一次完成所有相关度计算的并行化,再将其构建为一个Socket服务,这一方式只用于不能构建集群且站点数量不多的情况;另一种是直接使用Python构建一个Socket服务。
在面对超过一万次的计算任务时,构建相关度计算服务集群是必要的。相关度计算服务集群以单个独立的相关度计算服务为基础,通过Nginx连接部署在多个物理机上的多个服务,配合Nginx的相关配置,使其构成一个相关度服务负载均衡集群。集群中每个服务完成一样的功能,通过负载均衡代理,将一次线性相关分析中的一万次相关度计算任务动态分配给集群中的各个计算节点。
将服务部署到集群的方法为在一台物理机(或虚拟机、Docker容器等)内安装好单个服务所必备的运行环境,包括Python环境和相关的库环境,然后将算法源码拷贝过去,开启此服务,完成一次单个服务的独立部署过程。再将此服务的地址(IP和端口号)添加到Nginx的配置文件中,刷新Nginx的配置即可完成一次添加单个服务到集群的过程。
通常每个服务重复安装比较繁琐,也很耗成本,使用Docker配置好一个容器,然后通过配置一个Dockerfile文件,以该容器为基础开启多个服务,可以实现服务的快速部署,同时能方便的管理该集群。每台物理机上运行一个或多个独立的相关度计算服务。所述相关度计算服务以双机热备份方式运行,实现故障转移和高可用环境,避免单点故障,保障算法的稳定运行。
进一步的,如图3所示,一种气候观测数据线性相关度高速计算系统,包括Web服务器、Nginx负载均衡代理和至少一个线性相关计算服务器,Web服务器包括Jboss容器、Nginx服务器和GPU服务器,线性相关计算服务器包括至少一个线性相关计算服务;Web服务器通过Nginx负载均衡代理连接线性相关计算服务器。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (9)
1.一种气候观测数据线性相关度高速计算方法,其特征在于,包括以下步骤:
构建独立的相关度计算服务,实现气候观测数据线性相关度计算;
构建相关度计算服务集群,将单个独立的相关度计算服务,部署到一个或多个物理机上,形成相关度计算服务集群,提供大量用户并发计算能力;
相关度计算,相关度计算站点向负载均衡代理发起相关度计算请求,负载均衡代理分配相关度计算服务完成站点请求的相关度计算服务;
站点利用返回的相关度计算中间结果,展示气候观测数据分析结果。
2.根据权利要求1所述的一种气候观测数据线性相关度高速计算方法,其特征在于,站点请求相关度计算服务,包括以下步骤:
S1:对站点观测数据进行预处理;
S2:建立相关度计算线程池,并对单个站点建立计算任务;
S4:负载均衡代理接收各站点的计算任务,并分配给相关度计算服务;
S5:相关度计算服务接收站点数据完成计算,并返回计算结果;
S6:对计算结果数据再处理,并进行展示。
3.根据权利要求1所述的一种气候观测数据线性相关度高速计算方法,其特征在于,相关度计算基于皮尔逊(Pearson)相关系数公式,具体是利用NumPy将输入数据转为矩阵,然后根据皮尔逊相关系数公式求得相关度。
4.根据权利要求1所述的一种气候观测数据线性相关度高速计算方法,其特征在于,构建独立的相关度计算服务,包括以下两种方式:
A.使用Python的多进程一次完成所有相关度计算的并行化,再将其构建为一个Socket服务;
直接使用Python构建一个Socket服务。
5.根据权利要求1所述的一种气候观测数据线性相关度高速计算方法,其特征在于,相关度计算服务通过Nginx进行部署,配合Nginx的相关配置,使其构成一个相关度服务负载均衡集群。
6.根据权利要求5所述的一种气候观测数据线性相关度高速计算方法,其特征在于,相关度计算服务部署,包括以下两种方式:
A.在一台物理机、虚拟机或应用容器引擎Docker内安装好单个服务所必备的运行环境,拷贝算法源,开启服务;将次服务地址添加到Nginx配置文件中,刷新Nginx的配置完成单个服务到集群的一次添加;
B.使用应用容器引擎Docker配置一个容器,通过配置定义镜像生成流程的Dockerfile文件,以该容器为基础开启多个服务,实现服务的快速部署。
7.根据权利要求1所述的一种气候观测数据线性相关度高速计算方法,其特征在于,每台物理机上运行一个或多个独立的相关度计算服务。
8.根据权利要求1所述的一种气候观测数据线性相关度高速计算方法,其特征在于,所述相关度计算服务以双机热备份方式运行,实现故障转移和高可用环境,避免单点故障,保障算法的稳定运行。
9.一种气候观测数据线性相关度高速计算系统,其特征在于,包括Web服务器、Nginx负载均衡代理和至少一个线性相关计算服务器,Web服务器包括Jboss容器、Nginx服务器和GPU服务器,线性相关计算服务器包括至少一个线性相关计算服务;Web服务器通过Nginx负载均衡代理连接线性相关计算服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993465.4A CN110764742B (zh) | 2019-10-18 | 2019-10-18 | 一种气候观测数据线性相关度高速计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993465.4A CN110764742B (zh) | 2019-10-18 | 2019-10-18 | 一种气候观测数据线性相关度高速计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764742A true CN110764742A (zh) | 2020-02-07 |
CN110764742B CN110764742B (zh) | 2023-05-23 |
Family
ID=69332422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910993465.4A Active CN110764742B (zh) | 2019-10-18 | 2019-10-18 | 一种气候观测数据线性相关度高速计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764742B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312104A (zh) * | 2023-11-30 | 2023-12-29 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的可视化链路追踪方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152301A1 (en) * | 2000-12-19 | 2002-10-17 | Reactive Networking, Inc. | System and method for determining the state of a service within a computer network |
US20040186906A1 (en) * | 2003-03-21 | 2004-09-23 | Torrant Marc D. | System and method for managing distributed objects as a single representation |
CN103581039A (zh) * | 2013-11-08 | 2014-02-12 | 西安电子科技大学宁波信息技术研究院 | 一种服务器集群的动态负载均衡架构及其使用方法 |
WO2016101638A1 (zh) * | 2014-12-23 | 2016-06-30 | 国家电网公司 | 一种电力系统云仿真平台的运营管理方法 |
US20160205518A1 (en) * | 2015-01-14 | 2016-07-14 | Kodiak Networks Inc. | System and Method for Elastic Scaling using a Container-Based Platform |
CN106293887A (zh) * | 2015-05-21 | 2017-01-04 | 中兴通讯股份有限公司 | 数据库处理方法及装置 |
CN106878472A (zh) * | 2017-04-20 | 2017-06-20 | 广东马良行科技发展有限公司 | 一种分布式集群数据服务方法及系统 |
CN106888254A (zh) * | 2017-01-20 | 2017-06-23 | 华南理工大学 | 一种基于Kubernetes的容器云架构及其各模块之间的交互方法 |
CN108471457A (zh) * | 2018-06-16 | 2018-08-31 | 温州职业技术学院 | 基于分布式节点动态存储负载均衡方法 |
CN109920513A (zh) * | 2019-03-13 | 2019-06-21 | 安徽紫薇帝星数字科技有限公司 | 一种基于人工智能推荐算法的医疗图像三维阅片与手术指导系统 |
-
2019
- 2019-10-18 CN CN201910993465.4A patent/CN110764742B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152301A1 (en) * | 2000-12-19 | 2002-10-17 | Reactive Networking, Inc. | System and method for determining the state of a service within a computer network |
US20040186906A1 (en) * | 2003-03-21 | 2004-09-23 | Torrant Marc D. | System and method for managing distributed objects as a single representation |
CN103581039A (zh) * | 2013-11-08 | 2014-02-12 | 西安电子科技大学宁波信息技术研究院 | 一种服务器集群的动态负载均衡架构及其使用方法 |
WO2016101638A1 (zh) * | 2014-12-23 | 2016-06-30 | 国家电网公司 | 一种电力系统云仿真平台的运营管理方法 |
US20160205518A1 (en) * | 2015-01-14 | 2016-07-14 | Kodiak Networks Inc. | System and Method for Elastic Scaling using a Container-Based Platform |
CN106293887A (zh) * | 2015-05-21 | 2017-01-04 | 中兴通讯股份有限公司 | 数据库处理方法及装置 |
CN106888254A (zh) * | 2017-01-20 | 2017-06-23 | 华南理工大学 | 一种基于Kubernetes的容器云架构及其各模块之间的交互方法 |
CN106878472A (zh) * | 2017-04-20 | 2017-06-20 | 广东马良行科技发展有限公司 | 一种分布式集群数据服务方法及系统 |
CN108471457A (zh) * | 2018-06-16 | 2018-08-31 | 温州职业技术学院 | 基于分布式节点动态存储负载均衡方法 |
CN109920513A (zh) * | 2019-03-13 | 2019-06-21 | 安徽紫薇帝星数字科技有限公司 | 一种基于人工智能推荐算法的医疗图像三维阅片与手术指导系统 |
Non-Patent Citations (6)
Title |
---|
JIANI GUO: "Load Balancing in a Cluster-Based Web Server for Multimedia Applications", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS ( VOLUME: 17, ISSUE: 11, NOVEMBER 2006)》 * |
佚名: "什么是分布式、高并发、集群、负载均衡、高可用", 《HTTPS://BLOG.CSDN.NET/LI838626049/ARTICLE/DETAILS/83106514》 * |
杨晓: "基于SOA的服务构件粒度划分方法的研究应用", 《成都信息工程大学学报》 * |
王强: "基于Docker的动态负载均衡弹性伸缩系统", 《计算机与数字工程》 * |
翟永等: "基于集群技术的"天地图"运行支持环境设计", 《地理信息世界》 * |
蒋文旭: "基于Nginx部署环境的Web加速方案设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312104A (zh) * | 2023-11-30 | 2023-12-29 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的可视化链路追踪方法及系统 |
CN117312104B (zh) * | 2023-11-30 | 2024-03-12 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的可视化链路追踪方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110764742B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7433373B2 (ja) | 深層学習モデルの分散トレーニング方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
Li et al. | MSGD: A novel matrix factorization approach for large-scale collaborative filtering recommender systems on GPUs | |
Yun et al. | Initialization-free privacy-guaranteed distributed algorithm for economic dispatch problem | |
US7185046B2 (en) | Submitting jobs in a distributed computing environment | |
US20180365580A1 (en) | Determining a likelihood of a user interaction with a content element | |
CN108985937B (zh) | 一种基于区块链技术的计算资源共享方法及区块链系统 | |
Ou et al. | Parallel incremental graph partitioning | |
US10896178B2 (en) | High performance query processing and data analytics | |
US20080104609A1 (en) | System and method for load balancing distributed simulations in virtual environments | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN109886693B (zh) | 区块链系统的共识实现方法、装置、设备和介质 | |
WO2020215752A1 (zh) | 图计算方法及装置 | |
US11221890B2 (en) | Systems and methods for dynamic partitioning in distributed environments | |
CN109976912A (zh) | 一种基于fpga的分布式计算的实现方法及系统 | |
CN110147507A (zh) | 一种获取短链接地址的方法、装置及服务器 | |
US20170371892A1 (en) | Systems and methods for dynamic partitioning in distributed environments | |
Rong et al. | Distributed equivalent substitution training for large-scale recommender systems | |
CN110764742B (zh) | 一种气候观测数据线性相关度高速计算方法及系统 | |
CN104239412A (zh) | 数据存储库中应用至存储库的数据映射及相关方法、系统和计算机可读介质 | |
Xiao et al. | G-meta: Distributed meta learning in gpu clusters for large-scale recommender systems | |
Zhang et al. | LiteTE: Lightweight, communication-efficient distributed-memory triangle enumerating | |
Brady et al. | SmartGridRPC: The new RPC model for high performance Grid computing | |
Dubey et al. | A comprehensive survey of grid computing mechanism in J2ME for effective mobile computing techniques | |
Cuenca et al. | Guided installation of basic linear algebra routines in a cluster with manycore components | |
KR20210095083A (ko) | 그래프 계산의 처리 방법, 장치, 전자기기 및 저장매체 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |