CN109284125A - 大数据平台中的依赖包配置方法、装置、设备及介质 - Google Patents
大数据平台中的依赖包配置方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN109284125A CN109284125A CN201810919746.0A CN201810919746A CN109284125A CN 109284125 A CN109284125 A CN 109284125A CN 201810919746 A CN201810919746 A CN 201810919746A CN 109284125 A CN109284125 A CN 109284125A
- Authority
- CN
- China
- Prior art keywords
- packet
- relies
- big data
- title
- dependence
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 11
- 230000014509 gene expression Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种大数据平台中的依赖包配置方法、装置、设备及介质,该大数据平台中的依赖包配置方法包括:获取项目依赖包的配置请求,所述配置请求包括项目依赖包的名称;根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表;根据所述项目依赖包的名称在所述旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包;对所述冲突依赖包进行重命名,得到新版本依赖包;将所述项目依赖包和所述新版本依赖包配置在大数据平台中的大数据程序中。该方法可以解决在大数据平台中配置新版本依赖包时,因和旧版本依赖包名称相同而的导致冲突,提高了后续基于大数据平台进行各种操作的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种大数据平台中的依赖包配置方法、装置、设备及介质。
背景技术
目前,在大数据平台中的程序运行时,是通过不同的依赖包实现的功能组成。由于大数据程序中的依赖包的版本会根据实际应用情况进行更新,而在更新版本后,会和旧版本的依赖包因为名称相同而导致冲突,使得大数据平台中的程序运行失败,增加了排查错误的时间,加大了开发周期。
发明内容
本发明实施例提供一种大数据平台中的依赖包配置方法、装置、计算机设备及存储介质,以解决在配置依赖包时,因为依赖包名称冲突而导致大数据程序运行失败的问题。
一种大数据平台中的依赖包配置方法,包括:
获取项目依赖包的配置请求,所述配置请求包括项目依赖包的名称;
根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表;
根据所述项目依赖包的名称在所述旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包;
对所述冲突依赖包进行重命名,得到新版本依赖包;
将所述项目依赖包和所述新版本依赖包配置在所述大数据平台中的大数据程序中。
一种大数据平台中的依赖包配置装置,包括:
配置请求获取模块,用于获取项目依赖包的配置请求,所述配置请求包括项目依赖包的名称;
依赖包名称获取模块,用于根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表;
查询模块,用于根据所述项目依赖包的名称在所述旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包;
重命名模块,用于对所述冲突依赖包进行重命名,得到新版本依赖包;
配置模块,用于将所述项目依赖包和所述新版本依赖包配置在所述大数据平台中的大数据程序中。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述大数据平台中的依赖包配置方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述大数据平台中的依赖包配置方法的步骤。
上述大数据平台中的依赖包配置方法、装置、计算机设备及存储介质,通过在配置项目依赖包之前,根据当前的项目依赖包的名称,查找冲突依赖包,并将冲突依赖包进行重命名,得到新版本依赖包。再将项目依赖包和新版本依赖包配置在大数据平台中的大数据程序中。可以避免在项目依赖包配置后,因项目依赖包和旧版本依赖包的名称相同而导致的依赖包冲突问题,减少了故障排查的时间,提高了大数据平台中程序更新的效率,进而提高了后续基于大数据平台进行各种操作的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中大数据平台中的依赖包配置方法的一应用环境示意图;
图2是本发明一实施例中大数据平台中的依赖包配置方法的一流程图;
图3是本发明一实施例中大数据平台中的依赖包配置方法中对步骤S30的实现流程图;
图4是本发明一实施例中大数据平台中的依赖包配置方法中对步骤S32的实现流程图;
图5是本发明一实施例中大数据平台中的依赖包配置方法中对步骤S40的实现流程图;
图6是本发明一实施例中大数据平台中的依赖包配置方法中对步骤S50的实现流程图;
图7是本发明一实施例中大数据平台中的依赖包配置方法的另一流程图;
图8是本发明一实施例中大数据平台中的依赖包配置装置的一原理框图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的大数据平台中的依赖包配置方法,可应用在如图1的应用环境中。其中,大数据平台是指用于存储服务端集群中各个数据库的数据,并对数据进行计算、分析或处理等操作的平台。客户端(计算机设备)通过网络与服务端进行通信。客户端向服务端发送项目依赖包的配置请求。服务端根据该配置请求进行匹配查询,并根据匹配查询结果对项目依赖包进行处理,最后发送至大数据平台中的大数据程序中。其中,客户端(计算机设备)可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种大数据平台中的依赖包配置方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10:获取项目依赖包的配置请求,配置请求包括项目依赖包的名称。
在本实施例中,依赖包是指在大数据程序中能实现不同功能的数据包。项目依赖包是指在不同项目中,根据项目的具体需要而实现对应功能的依赖包。可以理解地,存在一部分项目依赖包,是根据实际项目的具体需求,对大数据程序中的已经存在的依赖包所实现的功能进行更新。可选地,项目依赖包为至少一个。配置请求是指在得到该项目依赖包后,需要将该项目依赖包在大数据程序中进行配置的请求,该配置请求包括该项目依赖包的名称。
S20:根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表。
在本实施例中,该预设的脚本是指预先编写好的程序代码。旧版本依赖包是指当前在大数据程序中已经配置成功的依赖包。旧版本依赖包名称表是指用于存储由预设的脚本在大数据平台中的大数据程序中获取到的旧版本依赖包的名称的数据表格。
具体地,依赖包是以jar包的形式配置在大数据程序中,即依赖包的名称中的后缀为“.jar”。因此,在编写该预设的脚本时,以依赖包的名称后缀,即“.jar”为关键词,在大数据程序中进行查询,若查询到后缀为“.jar”的文件,则将查询出的jar包的名称,放入一新建的数据表格中,当在大数据程序中查询结束后,将该新建的数据表格作为旧版本依赖包名称表。
S30:根据项目依赖包的名称在旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包。
在本实施例中,冲突依赖包是指项目依赖包中依赖包的名称与旧版本依赖包名称表中的名称相同的项目依赖包。匹配成功是指,根据项目依赖包的名称在旧版本依赖包名称表中进行匹配查询时,能够在旧版本依赖包名称表中查询到与项目依赖包的名称相同的旧版本依赖包。
具体地,若直接将匹配成功的项目依赖包配置在大数据程序中后,在大数据程序中会存在两个相同名称的依赖包。如此,会因为项目依赖包和旧版本依赖包的名称相同,在大数据程序使用该项目依赖包时会跟旧版本依赖包产生冲突,因此,将在旧版本依赖包名称表中匹配成功的项目依赖包作为冲突依赖包,以便于后续的处理。
S40:对冲突依赖包进行重命名,得到新版本依赖包。
在本实施例中,新版本依赖包是指将冲突依赖包进行重命名后,得到的新版本依赖包。
具体地,在得到冲突依赖包后,通过创建maven工具,对大数据程序中的每个旧版本依赖包和每个项目依赖包生成配置文件表。其中,maven工具是一个项目管理工具,该maven工具包含了一个项目对象模型和一个依赖管理系统,可以用于查看、管理和配置依赖包的信息。
在maven工具中,获取冲突依赖包的配置信息,该配置信息包括该冲突依赖包的名称,从该配置信息中获取并修改该冲突依赖包的名称,得到新版本依赖包。
S50:将项目依赖包和新版本依赖包配置在大数据平台中的大数据程序中。
具体地,在对冲突依赖包进行重命名,得到新版本依赖包后,将该新版本依赖包和未进行重命名的项目依赖包配置在大数据平台中的大数据程序中,如此就可以在大数据程序使用该项目依赖包和新版本依赖包。
在本实施例中,通过在配置项目依赖包之前,根据当前的项目依赖包的名称,查找冲突依赖包,并将冲突依赖包进行重命名,得到新版本依赖包。再将项目依赖包和新版本依赖包配置在大数据平台中的大数据程序中。可以避免在项目依赖包配置后,因项目依赖包和旧版本依赖包的名称相同而导致的依赖包冲突,减少了故障排查的时间,提高了大数据平台中程序更新的效率,进而提高了后续基于大数据平台进行各种操作的效率。
在一实施例中,如图3所示,步骤S30中,即根据项目依赖包的名称在旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包,具体包括如下步骤:
S31:将项目依赖包的名称转化为匹配字符串。
具体地,匹配字符串是指需要进行匹配查询的字符串。在本实施例中,将项目依赖包的名称作为匹配字符串。可选地,在将项目依赖包的名称作为匹配字符串时项目依赖包的名称中可以不包括依赖包的后缀。例如:若项目依赖包的名称为“ABC.jar”,则可以将“ABC”作为匹配字符串,减少匹配查询的时间,提高查询效率。
S32:根据匹配字符串在旧版本依赖包名称表中进行匹配查询。
在本实施例中,可以使用正则表达式的方式,将匹配字符串在旧版本依赖包名称表中进行匹配查询。其中,正则表达式又称为规则表达式,是一种字符串匹配的模式,可以用来检查一个数据表格是否含有某种字符串并从中取出符合条件的该字符串。该符合的条件为该匹配字符串与旧版本依赖包名称表中的旧版本依赖包的名称相同。即使用正则表达式在旧版本依赖包名称表中匹配查询是否存在与该匹配字符串相同的旧版本依赖包的名称。例如,该匹配字符串为“ABC”,即以旧版本依赖包名称表中有旧版本依赖包的名称为“ABC”为条件,并根据该条件作为正则表达式的匹配查询的条件,对该匹配字符串进行匹配查询。
S33:若在旧版本依赖包名称表中存在与该匹配字符串相同的旧版本依赖包的名称,则确定匹配字符串对应的项目依赖包在旧版本依赖包名称表中匹配成功。
具体地,匹配成功是指在该旧版本依赖包名称表中匹配查询到与该匹配字符串相同的旧版本依赖包的名称。通过步骤S32中根据匹配字符串在旧版本依赖包名称表中进行匹配查询,若查询到在旧版本依赖包名称表中存在与该匹配字符串相同的旧版本依赖包的名称,则说明与该匹配字符串对应的项目依赖包在旧版本依赖包名称表中是匹配成功的。
S34:将匹配成功的项目依赖包作为冲突依赖包。
具体地,将在旧版本依赖包名称表中匹配成功的匹配字符串对应的项目依赖包,作为冲突依赖包。
本实施例中,通过将项目依赖包的名称作为匹配字符串,并根据该匹配字符串在旧版本依赖包名称表中匹配查询,将匹配成功的项目依赖包作为冲突依赖包,能够避免了将冲突依赖包配置在大数据程序后导致的依赖包名称相同的冲突,提高了大数据程序的稳定性。
在一实施例中,如图4所示,步骤S32中,即根据匹配字符串在旧版本依赖包名称表中进行匹配查询,具体包括如下步骤:
S321:获取匹配字符串的数量。
在本实施例中,每一个项目依赖包的名称对应一个匹配字符串,该匹配字符串的数量即为项目依赖包的名称的数量。在将项目依赖包的名称作为匹配字符串之后,获取匹配字符串的数量。
S322:若匹配字符串的数量大于1,则将匹配字符串存入匹配数组,并根据匹配字符串的数量对匹配字符串进行编号。
在本实施例中,匹配数组是指匹配字符串组合而成的元素序列。
具体地,若匹配字符串的数量大于1,即存在多个匹配字符串,则将匹配字符串放入匹配数组。在将匹配字符串放入匹配数组后,对匹配字符串进行编号,每个匹配字符串对应一个编号。例如,匹配数组中有4个匹配字符串,分别为匹配字符串A、匹配字符串B、匹配字符串C和匹配字符串D,对这四个匹配字符串进行编号后,匹配字符串A的编号为0、匹配字符串B编号为1、匹配字符串C编号为2和匹配字符串D编号为3。
需要说明的是,若匹配字符串的数量等于1,则不需要将该匹配字符串放入匹配数组,直接将该匹配字符串在旧版本依赖包名称表中进行匹配查询即可。
S323:根据编号从小到大的顺序,将匹配数组中的每一个匹配字符串在旧版本依赖包名称表中进行循环匹配查询,并标记出在旧版本依赖包名称表中能匹配查询到对应的旧版本依赖包的名称的匹配字符串。
具体地,根据编号从小到大的顺序,对匹配数组中的每一个匹配字符串在旧版本依赖包名称表中进行匹配查询。例如,若对匹配字符串从0开始编号,则从编号0对应的匹配字符串开始在旧版本依赖包名称表中进行匹配查询,若在旧版本依赖包名称表中能匹配查询到与匹配字符串对应的旧版本依赖包的名称,则标记出该匹配字符串,并结束对该匹配字符串的匹配查询。其中,标记出该匹配字符串该匹配字符串可以通过返回该匹配字符串的编号的方式实现,在获取到该编号后,通过该编号获取到对应的匹配字符串,例如,编号0对应的匹配字符串查询成功,则返回该编号0,即完成对该编号0对应的匹配字符串的标记;若在旧版本依赖包名称表中匹配查询不到依赖包的名称,则结束对该匹配字符串的匹配查询。
在一个匹配字符串匹配查询结束后,对该匹配字符串对应的编号进行增加操作,以指向下一编号,并判断该增加后的编号是否达到编号阈值。若该增加后的编号没有达到编号阈值,则对该增加后的编号对应的匹配字符串继续进行匹配查询。若该增加后的编号达到编号阈值,则结束该循环匹配查询操作。其中,编号阈值为匹配数组中最大的编号。
S324:当编号最大的匹配字符串的匹配查询结束,则输出所有被标记的匹配字符串。
具体地,在检测到编号最大的匹配字符串的匹配查询结束,即所有的匹配字符串匹配查询结束后,通过调用输出语句,输出所有被标记的匹配字符串。其中,该输出语句是指预先编辑好,用于输出标记的匹配字符串的代码语句。
在本实施例中,通过将匹配字符串放入匹配数组进行编号,并按照编号的顺序根据循环匹配查询的方式对有多个匹配字符串进行匹配查询,并输出匹配成功的匹配字符串,能够节省对多个匹配字符串进行匹配查询的时间,提高了匹配查询的效率。
在一实施例中,如图5所示,步骤S40,即对冲突依赖包进行重命名,得到新版本依赖包,具体包括如下步骤:
S41:获取冲突依赖包的配置文件表。
在本实施例中,配置文件表即是指记录每个依赖包的配置信息的数据表格,可以通过修改该配置文件表中的数据的方式,对依赖包的配置信息进行修改。其中,该配置信息包括了对应的依赖包的名称和依赖关系。需要说明的是,每个依赖包的配置文件表是以xml(可扩展标记语言,Extensible Markup Language)文件存储在对应的依赖包的目录中,例如:一个冲突依赖包的配置文件表为“pom.xml”,其中,pom是项目对象模型(ProjectObject Model)的简称,它是maven工具中的文件,使用xml文件表示。
具体地,在使用maven工具后,会在每个依赖包中生成对应的配置文件表。在生成该配置文件表后,从冲突依赖包中获取该配置文件表。
S42:在配置文件表中获取冲突依赖包的名称。
具体地,在配置文件表中获取冲突依赖包的名称所在元素,即<name>...</name>,其中,<name>...</name>中包含了该冲突依赖包的的名称。进一步地,从该元素中获取该冲突依赖包的名称。
S43:在配置文件表中对冲突依赖包的名称进行重命名,得到新版本依赖包。
具体地,在配置文件表中获取冲突依赖包的名称所在元素之后,在该元素中对冲突依赖包的名称进行重命名,使该冲突依赖包的名称具有唯一性。在对冲突依赖包的名称进行重命名后,得到新版本依赖包。
在本实施例中,对冲突依赖包进行重命名,得到新版本依赖包,使新版本依赖包的名称和存在冲突的旧版本依赖包的名称能够区别开,能够使在将该新版本依赖包配置在大数据程序后,不会导致依赖包冲突,提高了大数据程序运行的稳定性。
在一实施例中,如图6所示,步骤S50中,即将项目依赖包和新版本依赖包配置在大数据程序中,具体包括如下步骤:
S51:将项目依赖包和新版本依赖包作为待配置依赖包。
在本实施例中,待配置依赖包是指需要配置在大数据程序的依赖包。
具体地,将该项目依赖包和新版本依赖包作为待配置依赖包。需要说明的是,在本实施例中的项目依赖包,是指在旧版本依赖包名称表中匹配不成功,不需要进行重命名的依赖包。
S52:将待配置依赖包上传至大数据平台中的大数据程序。
具体地,可以使用maven工具,将该待配置依赖包上传至大数据平台中的大数据程序。
S53:将与冲突依赖包对应的旧版本依赖包作为待排除依赖包,并获取待排除依赖包的配置文件表。
在本实施例中,该待排除依赖包是指需要从大数据程序中排除掉的旧版本依赖包。
具体地,从待排除依赖包中获取该待排除本依赖包的配置文件表。
S54:根据待排除依赖包的配置文件表中的依赖关系,获取待排除依赖包对应的旧版本依赖包的配置文件表,作为待处理配置文件表。
在本实施例中,依赖关系是指每个依赖包之间的相互依赖的关系,即每一个旧版本依赖包运行,都有可能依赖另一个或多个旧版本依赖包,或者被另一个或多个旧版本依赖包依赖。待排除依赖包对应的旧版本依赖包是指在大数据程序中,与该待排除依赖包有依赖关系的旧版本依赖包,待处理配置文件表为该待排除依赖包对应的旧版本依赖包的配置文件表。
具体地,从该待排除依赖包中的的配置文件表中的<dependencies>...</dependencies>元素获取该待排除依赖包的依赖关系。根据该依赖关系在大数据程序中获取对应的旧版本依赖包以及该旧版本依赖包的配置文件表,作为待处理配置文件表。
S55:修改待处理配置文件表中的依赖关系,将待排除依赖包在大数据程序中排除。
具体地,在该待处理配置文件表中的<dependencies>...</dependencies>元素中的<exclusions>...</exclusions>子元素中添加待排除依赖包的名称,将该与冲突依赖包对应的旧版本依赖包从大数据程序中排除。
进一步地,在该待处理配置文件表中的<dependencies>...</dependencies>元素中的<dependency>...</dependency>子元素中添加该待配置依赖包的名称,指定大数据程序使用待配置依赖包。
例如,现有依赖关系为旧版本依赖包A依赖旧版本依赖包B,旧版本依赖包B依赖旧版本依赖包C,为方便表述,用A→B→C进行表示,其中,旧版本依赖包B为与冲突依赖包对应的旧版本依赖包,因此将旧版本依赖包B有冲突的项目依赖包进行重命名,得到新版本依赖包B’。并通过修改旧版本依赖包A和旧版本依赖包C的依赖关系,指定旧版本依赖包A和旧版本依赖包C依赖新版本依赖包B’,并将旧版本依赖包B排除,即修改后的依赖关系为A→B’→C。
在本实施例中,通过修改依赖关系,将与冲突依赖包对应的旧版本依赖包从大数据程序中排除,提高了大数据程序运行的稳定性。
在一实施例中,如图7所示,步骤S50之后,该大数据平台中的依赖包配置方法还包括如下步骤:
S61:在大数据平台中的大数据程序中获取依赖包关系。
在本实施例中,依赖包关系是指在大数据程序中每个依赖包之间的依赖关系。该依赖包关系包括正常关系和冲突关系,该正常关系是指依赖包之间没有发生冲突,冲突关系是指依赖包之间产生了冲突。
具体地,可以使用依赖包关系查看的工具,例如,intellij idea工具,使用该工具获取大数据程序中的依赖包关系。
S62:若检测出依赖包关系为冲突关系,则生成并发送依赖包冲突消息。
在本实施例中,依赖包冲突消息是指当检测出该依赖包关系中出现冲突关系时触发的消息。
具体地,当检测出依赖包关系中有冲突关系时,将该冲突关系对应的依赖包的名称生成依赖包冲突消息,并发送至客户端。需要说明的是,该步骤是为了进一步确保在对该待配置依赖包配置在大数据程序后,不会和旧版本依赖包发生冲突,进一步确保了程序的稳定性。
在本实施例中,在将项目依赖包和新版本依赖包配置在大数据平台中的大数据程序中后,对大数据程序的依赖包关系进行查看校验,能够在依赖包发生冲突时,及时检测出对应的依赖包,减少了在排查故障的时间,提高了大数据程序运行的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种大数据平台中的依赖包配置装置,该大数据平台中的依赖包配置装置与上述实施例中大数据平台中的依赖包配置方法一一对应。如图8所示,该大数据平台中的依赖包配置装置包括依赖配置请求获取模块81、依赖包名称获取模块82、查询模块83、重命名模块84和配置模块85。各功能模块详细说明如下:
配置请求获取模块81,用于获取项目依赖包的配置请求,配置请求包括项目依赖包的名称;
依赖包名称获取模块82,用于根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表;
查询模块83,用于根据项目依赖包的名称在旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包;
重命名模块84,用于对冲突依赖包进行重命名,得到新版本依赖包;
配置模块85,用于将项目依赖包和新版本依赖包配置在大数据平台中的大数据程序中。
优选地,该查询模块83包括:
匹配字符串子模块831,用于将项目依赖包的名称转化为匹配字符串;
匹配查询子模块832,用于根据匹配字符串在旧版本依赖包名称表中进行匹配查询;
判断子模块833,用于若在旧版本依赖包名称表中存在与该匹配字符串相同的旧版本依赖包的名称,则确定匹配字符串对应的项目依赖包在旧版本依赖包名称表中匹配成功;
冲突子模块834,用于将匹配成功的项目依赖包作为冲突依赖包。
优选地,该匹配查询子模块832包括:
数量获取子单元8321,用于获取匹配字符串的数量;
匹配数组子单元8322,用于若匹配字符串的数量大于1,则将匹配字符串存入匹配数组,并根据匹配字符串的数量对匹配字符串进行编号;
匹配查询子单元8323,用于根据编号从小到大的顺序,将匹配数组中的每一个匹配字符串在旧版本依赖包名称表中进行循环匹配查询,并标记出在旧版本依赖包名称表中能匹配查询到对应的所述旧版本依赖包的名称的匹配字符串;
输出子单元8324,用于当编号最大的匹配字符串的匹配查询结束,则输出所有被标记的匹配字符串。
优选地,该重命名模块84包括:
第一获取子模块841,用于获取冲突依赖包的配置文件表;
名称获取子模块842,用于在配置文件表中获取冲突依赖包的名称;
重命名子模块843,用于在配置文件表中对冲突依赖包的名称进行重命名,得到新版本依赖包。
优选地,该配置模块85包括:
待配置子模块851,用于将项目依赖包和新版本依赖包作为待配置依赖包;
上传子模块852,用于将待配置依赖包上传至大数据平台中的大数据程序;
第二获取子模块853,用于将与冲突依赖包对应的旧版本依赖包作为待排除依赖包,并获取待排除依赖包的配置文件表;
第三获取子模块854,用于根据待排除依赖包的配置文件表中的依赖关系,获取待排除依赖包对应的旧版本依赖包的配置文件表,作为待处理配置文件表;
依赖关系修改子模块855,用于修改待处理配置文件表中的依赖关系,将待排除依赖包在大数据程序中排除。
优选地,该大数据平台中的依赖包配置装置还包括:
依赖关系获取模块86,用于在大数据平台中的大数据程序中获取依赖包关系;
消息发送模块87,用于若检测出依赖包关系为冲突关系,则生成并发送依赖包冲突消息。
关于大数据平台中的依赖包配置装置的具体限定可以参见上文中对于大数据平台中的依赖包配置方法的限定,在此不再赘述。上述大数据平台中的依赖包配置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储项目依赖包和旧版本依赖包的配置文件表。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种大数据平台中的依赖包配置方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取项目依赖包的配置请求,所述配置请求包括项目依赖包的名称;
根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表;
根据所述项目依赖包的名称在所述旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包;
对所述冲突依赖包进行重命名,得到新版本依赖包;
将所述项目依赖包和所述新版本依赖包配置在所述大数据平台中的大数据程序中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取项目依赖包的配置请求,所述配置请求包括项目依赖包的名称;
根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表;
根据所述项目依赖包的名称在所述旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包;
对所述冲突依赖包进行重命名,得到新版本依赖包;
将所述项目依赖包和所述新版本依赖包配置在所述大数据平台中的大数据程序中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种大数据平台中的依赖包配置方法,其特征在于,所述大数据平台中的依赖包配置方法包括:
获取项目依赖包的配置请求,所述配置请求包括项目依赖包的名称;
根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表;
根据所述项目依赖包的名称在所述旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包;
对所述冲突依赖包进行重命名,得到新版本依赖包;
将所述项目依赖包和所述新版本依赖包配置在所述大数据平台中的大数据程序中。
2.如权利要求1所述的大数据平台中的依赖包配置方法,其特征在于,所述根据所述项目依赖包的名称在所述旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包,包括:
将所述项目依赖包的名称转化为匹配字符串;
根据所述匹配字符串在旧版本依赖包名称表中进行匹配查询;
若在所述旧版本依赖包名称表中存在与该匹配字符串相同的旧版本依赖包的名称,则确定所述匹配字符串对应的所述项目依赖包在所述旧版本依赖包名称表中匹配成功;
将匹配成功的项目依赖包作为冲突依赖包。
3.如权利要求2所述的大数据平台中的依赖包配置方法,其特征在于,所述根据所述匹配字符串在旧版本依赖包名称表中进行匹配查询,包括:
获取所述匹配字符串的数量;
若所述匹配字符串的数量大于1,则将所述匹配字符串存入匹配数组,并根据所述匹配字符串的数量对所述匹配字符串进行编号;
根据所述编号从小到大的顺序,将所述匹配数组中的每一个所述匹配字符串在所述旧版本依赖包名称表中进行循环匹配查询,并标记出在所述旧版本依赖包名称表中能匹配查询到对应的所述旧版本依赖包的名称的所述匹配字符串;
当所述编号最大的所述匹配字符串的匹配查询结束,则输出所有被标记的所述匹配字符串。
4.如权利要求1所述的大数据平台中的依赖包配置方法,其特征在于,所述对所述冲突依赖包进行重命名,得到新版本依赖包,包括:
获取所述冲突依赖包的配置文件表;
在所述配置文件表中获取所述冲突依赖包的名称;
在所述配置文件表中对所述冲突依赖包的名称进行重命名,得到所述新版本依赖包。
5.如权利要求1所述的大数据平台中的依赖包配置方法,其特征在于,所述将所述项目依赖包和所述新版本依赖包配置在所述大数据平台中的大数据程序中,包括:
将所述项目依赖包和所述新版本依赖包作为待配置依赖包;
将所述待配置依赖包上传至所述大数据平台中的大数据程序;
将与所述冲突依赖包对应的所述旧版本依赖包作为待排除依赖包,并获取所述待排除依赖包的配置文件表;
根据所述待排除依赖包的配置文件表中的依赖关系,获取所述待排除依赖包对应的旧版本依赖包的配置文件表,作为待处理配置文件表;
修改所述待处理配置文件表中的依赖关系,将所述待排除依赖包在大数据程序中排除。
6.如权利要求1所述的大数据平台中的依赖包配置方法,其特征在于,在所述将所述项目依赖包和所述新版本依赖包配置在大数据程序中的步骤之后,所述大数据平台中的依赖包配置方法还包括:
在所述大数据平台中的大数据程序中获取依赖包关系;
若检测出所述依赖包关系为冲突关系,则生成并发送依赖包冲突消息。
7.一种大数据平台中的依赖包配置装置,其特征在于,所述大数据平台中的依赖包配置装置包括:
配置请求获取模块,用于获取项目依赖包的配置请求,所述配置请求包括项目依赖包的名称;
依赖包名称获取模块,用于根据预设的脚本,在大数据平台中的大数据程序中获取旧版本依赖包的名称,得到旧版本依赖包名称表;
查询模块,用于根据所述项目依赖包的名称在所述旧版本依赖包名称表中进行匹配查询,并将匹配成功的项目依赖包作为冲突依赖包;
重命名模块,用于对所述冲突依赖包进行重命名,得到新版本依赖包;
配置模块,用于将所述项目依赖包和所述新版本依赖包配置在所述大数据平台中的大数据程序中。
8.如权利要求7所述的大数据平台中的依赖包配置装置,其特征在于,所述查询模块包括:
匹配字符串子模块,用于将所述项目依赖包的名称转化为匹配字符串;
匹配查询子模块,用于根据所述匹配字符串在旧版本依赖包名称表中进行匹配查询;
判断子模块,用于若在所述旧版本依赖包名称表中存在与该匹配字符串相同的旧版本依赖包的名称,则确定所述匹配字符串对应的所述项目依赖包在所述旧版本依赖包名称表中匹配成功;
冲突子模块,用于将匹配成功的项目依赖包作为冲突依赖包。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述大数据平台中的依赖包配置方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述大数据平台中的依赖包配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810919746.0A CN109284125B (zh) | 2018-08-14 | 2018-08-14 | 大数据平台中的依赖包配置方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810919746.0A CN109284125B (zh) | 2018-08-14 | 2018-08-14 | 大数据平台中的依赖包配置方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284125A true CN109284125A (zh) | 2019-01-29 |
CN109284125B CN109284125B (zh) | 2024-08-30 |
Family
ID=65183000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810919746.0A Active CN109284125B (zh) | 2018-08-14 | 2018-08-14 | 大数据平台中的依赖包配置方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284125B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241823A (zh) * | 2020-01-07 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 一种依赖配置的管理方法、装置、电子设备及存储介质 |
CN111651195A (zh) * | 2020-06-17 | 2020-09-11 | 深圳市钱海网络技术有限公司 | 一种系统依赖包冲突检测方法及装置 |
CN111679852A (zh) * | 2020-05-29 | 2020-09-18 | 北京五八信息技术有限公司 | 一种冲突依赖库的检测方法及装置 |
CN112084391A (zh) * | 2020-09-08 | 2020-12-15 | 中国平安人寿保险股份有限公司 | 依赖包信息的获取方法、装置、设备及计算机介质 |
CN112181423A (zh) * | 2020-09-04 | 2021-01-05 | 招商局金融科技有限公司 | 基于配置文件的项目构建方法、装置、计算机设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317538B1 (en) * | 2013-09-10 | 2016-04-19 | Ca, Inc. | Methods for generating data sets using catalog entries |
US9323644B1 (en) * | 2015-09-30 | 2016-04-26 | Semmle Limited | Query-based software dependency analysis |
US20160261459A1 (en) * | 2013-10-14 | 2016-09-08 | Hewlett-Packard Development Company, L.P. | Package dependency maps for distributed computing |
US20160328230A1 (en) * | 2015-05-05 | 2016-11-10 | Netflix, Inc. | Software dependency shading |
CN106130750A (zh) * | 2016-09-29 | 2016-11-16 | 安徽四创电子股份有限公司 | 一种基于私有Yum库的大数据平台升级方法 |
CN106155724A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种升级方法及装置 |
CN107368292A (zh) * | 2017-03-29 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种资源编译方法及装置 |
US20180052682A1 (en) * | 2016-08-16 | 2018-02-22 | Sonatype, Inc. | Method and system for authoritative name analysis of truue origin of a file |
CN108334334A (zh) * | 2018-03-07 | 2018-07-27 | 政采云有限公司 | 一种管理依赖包版本的方法和系统 |
-
2018
- 2018-08-14 CN CN201810919746.0A patent/CN109284125B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317538B1 (en) * | 2013-09-10 | 2016-04-19 | Ca, Inc. | Methods for generating data sets using catalog entries |
US20160261459A1 (en) * | 2013-10-14 | 2016-09-08 | Hewlett-Packard Development Company, L.P. | Package dependency maps for distributed computing |
CN106155724A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种升级方法及装置 |
US20160328230A1 (en) * | 2015-05-05 | 2016-11-10 | Netflix, Inc. | Software dependency shading |
US9323644B1 (en) * | 2015-09-30 | 2016-04-26 | Semmle Limited | Query-based software dependency analysis |
US20180052682A1 (en) * | 2016-08-16 | 2018-02-22 | Sonatype, Inc. | Method and system for authoritative name analysis of truue origin of a file |
CN106130750A (zh) * | 2016-09-29 | 2016-11-16 | 安徽四创电子股份有限公司 | 一种基于私有Yum库的大数据平台升级方法 |
CN107368292A (zh) * | 2017-03-29 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种资源编译方法及装置 |
CN108334334A (zh) * | 2018-03-07 | 2018-07-27 | 政采云有限公司 | 一种管理依赖包版本的方法和系统 |
Non-Patent Citations (2)
Title |
---|
DENGQIAN2095: "Spark 依赖包冲突解决", Retrieved from the Internet <URL:https://blog.csdn.net/dengqian2095/article/details/102148049> * |
DENGQIAN2095: "Spark依赖包冲突解决", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/dengqian2095/article/details/102148049> * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241823A (zh) * | 2020-01-07 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 一种依赖配置的管理方法、装置、电子设备及存储介质 |
CN111679852A (zh) * | 2020-05-29 | 2020-09-18 | 北京五八信息技术有限公司 | 一种冲突依赖库的检测方法及装置 |
CN111651195A (zh) * | 2020-06-17 | 2020-09-11 | 深圳市钱海网络技术有限公司 | 一种系统依赖包冲突检测方法及装置 |
CN111651195B (zh) * | 2020-06-17 | 2024-03-12 | 深圳市钱海网络技术有限公司 | 一种系统依赖包冲突检测方法及装置 |
CN112181423A (zh) * | 2020-09-04 | 2021-01-05 | 招商局金融科技有限公司 | 基于配置文件的项目构建方法、装置、计算机设备及介质 |
CN112181423B (zh) * | 2020-09-04 | 2024-02-13 | 招商局金融科技有限公司 | 基于配置文件的项目构建方法、装置、计算机设备及介质 |
CN112084391A (zh) * | 2020-09-08 | 2020-12-15 | 中国平安人寿保险股份有限公司 | 依赖包信息的获取方法、装置、设备及计算机介质 |
CN112084391B (zh) * | 2020-09-08 | 2024-02-09 | 中国平安人寿保险股份有限公司 | 依赖包信息的获取方法、装置、设备及计算机介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109284125B (zh) | 2024-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284125A (zh) | 大数据平台中的依赖包配置方法、装置、设备及介质 | |
CN110147413B (zh) | 数据存储方法、数据查询方法、装置、设备及存储介质 | |
WO2020119434A1 (zh) | 接口数据处理方法、自动化测试方法、装置、设备和介质 | |
US10853108B2 (en) | Method and apparatus for code virtualization and remote process call generation | |
US8793660B2 (en) | Automated testing of programming code for a web service | |
CN107368503B (zh) | 基于Kettle的数据同步方法和系统 | |
US10185546B2 (en) | Service extraction and application composition | |
US8782609B2 (en) | Test failure bucketing | |
CN107368313B (zh) | 代码检测方法、装置及电子设备 | |
CN109445837B (zh) | 一种应用程序的发布方法及设备 | |
CN111078555B (zh) | 一种测试文件的生成方法、系统、服务器和存储介质 | |
US20140229770A1 (en) | Method and system for stack trace clustering | |
CN104461531A (zh) | 一种报表系统自定义函数的实现方法 | |
CN109787974A (zh) | 报文数据流生成方法、装置、计算机设备和存储介质 | |
CN112650529A (zh) | 可配置生成移动端app代码的系统及方法 | |
CN109165332A (zh) | 一种网页信息获取方法、装置以及设备 | |
CN113515303B (zh) | 一种项目转型方法、装置和设备 | |
CN116185425A (zh) | 基于节点组合的事件流程编排方法、装置、设备及介质 | |
US20220365871A1 (en) | System and method for identification of web elements used in automation test case | |
CN109614188A (zh) | 一种页面在线帮助方法、装置、计算机设备及存储介质 | |
US10402391B2 (en) | Processing method, device and system for data of distributed storage system | |
CN111400243B (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
CN115705297A (zh) | 代码调用检测方法、装置、计算机设备以及存储介质 | |
CN108897536B (zh) | 一种配网模型匹配方法、装置、系统及存储介质 | |
CN113987391A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |