一种代码共享方法、装置、服务器、终端及介质制造方法及图纸

技术编号:26790276 阅读:30 留言:0更新日期:2020-12-22 17:05
本发明专利技术实施例提供了一种代码共享方法、装置、服务器、终端及介质,涉及计算机技术领域。本申请的方法应用于服务器,服务器中存储多个代码文件以及各代码文件之间的依赖关系,该方法包括:接收终端发送的代码文件下载请求,代码文件下载请求用于请求下载指定代码文件;查找指定代码文件,以及指定代码文件的依赖代码文件,依赖代码文件为被指定代码文件调用的代码文件;向终端发送指定代码文件,以及指定代码文件的依赖代码文件,以使得终端将指定代码文件和指定代码文件的依赖代码文件打包,得到用于服务开发的代码文件包。采用该方法可以解决因common包臃肿导致的传输资源浪费的问题。

【技术实现步骤摘要】
一种代码共享方法、装置、服务器、终端及介质
本专利技术涉及计算机
,特别是涉及一种代码共享方法、装置、服务器、终端及介质。
技术介绍
目前,在进行应用程序(Application,APP)的功能开发时可以采用微服务架构,可以将APP中的不同功能模块抽象为不同的服务,使得开发人员可以同时、相互独立地对各个服务进行需求开发,降低功能之间的耦合性。为了避免重复的代码,各个服务的公共代码可以被独立存储为一个公共(common)包,该common包可以为jar包的形式。各个服务可以根据需要引用该common包中的代码。随着业务的发展以及新功能的迭代,公共代码可复用的场景越来越多,导致common包越来越臃肿,各个服务在引用common包中的代码时,需要下载整个common包。比如,视频APP中的电视剧模块可以使用代码文件A和代码文件B,电影模块可以使用代码文件B和代码文件C,短视频模块可以使用代码文件A和代码文件C,则需要在common包中存储代码文件A、代码文件B和代码文件C。每个模块都需要下载整个common包才可以使用common包中本文档来自技高网...

【技术保护点】
1.一种代码共享方法,其特征在于,所述方法应用于服务器,所述服务器中存储多个代码文件以及各代码文件之间的依赖关系,所述方法包括:/n接收终端发送的代码文件下载请求,所述代码文件下载请求用于请求下载指定代码文件;/n查找所述指定代码文件,以及所述指定代码文件的依赖代码文件,所述依赖代码文件为被所述指定代码文件调用的代码文件;/n向所述终端发送所述指定代码文件,以及所述指定代码文件的依赖代码文件,以使得所述终端将所述指定代码文件和所述指定代码文件的依赖代码文件打包,得到用于服务开发的代码文件包。/n

【技术特征摘要】
1.一种代码共享方法,其特征在于,所述方法应用于服务器,所述服务器中存储多个代码文件以及各代码文件之间的依赖关系,所述方法包括:
接收终端发送的代码文件下载请求,所述代码文件下载请求用于请求下载指定代码文件;
查找所述指定代码文件,以及所述指定代码文件的依赖代码文件,所述依赖代码文件为被所述指定代码文件调用的代码文件;
向所述终端发送所述指定代码文件,以及所述指定代码文件的依赖代码文件,以使得所述终端将所述指定代码文件和所述指定代码文件的依赖代码文件打包,得到用于服务开发的代码文件包。


2.根据权利要求1所述的方法,其特征在于,所述查找所述指定代码文件,以及所述指定代码文件的依赖代码文件,包括:
查找所述指定代码文件;
查找所述指定代码文件直接依赖的第一级代码文件;
若查找到所述指定代码文件直接依赖的第一级代码文件,则查找所述第一级代码文件直接依赖的第二级代码文件;
依次查找每一级代码文件直接依赖的下一级代码文件,直至当前查找到的代码文件无下一级文件,将查找到所有代码文件作为所述指定代码文件的依赖代码文件。


3.根据权利要求2所述的方法,其特征在于,所述服务器中包括代码池和依赖关系信息,所述代码池用于存储代码文件,针对每个代码文件,所述依赖关系信息中对应存储有该代码文件的文件标识、该代码文件在所述代码池中的存储路径、该代码文件直接依赖的代码文件的文件标识;
所述查找所述指定代码文件,包括:
从所述依赖关系信息中,查找所述指定代码文件的存储路径;
基于所述指定代码文件的存储路径,从所述代码池中获取所述指定代码文件;
所述查找所述指定代码文件直接依赖的第一级代码文件,包括:
从所述依赖关系信息中,查找所述指定代码文件直接依赖的第一级代码文件的文件标识;
从所述依赖关系信息中,查找所述第一级代码文件的文件标识对应的存储路径;
基于查找到的存储路径,从所述代码池中获取所述第一级代码文件。


4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
接收终端上传的共享代码文件;
解析所述共享代码文件的工程名和文件路径;
基于所述工程名和所述文件路径确定所述共享代码文件在所述代码池中的存储路径;
按照确定出的存储路径在所述代码池中存储所述共享代码文件;
在依赖关系信息中存储所述共享代码文件的文件标识、存储路径以及直接依赖的代码文件的文件标识,以使得所述服务器通过依赖关系信息存储各代码文件之间的多重嵌套关系,所述多重嵌套关系为树形结构。


5.根据权利要求4所述的方法,其特征在于,所述依赖关系信息中还包括所述共享代码文件的创建时间和更新时间;在所述接收终端上传的共享代码文件之后,所述方法还包括:
将接收到所述共享代码文件的时间作为所述共享代码文件的创建时间,在所述依赖关系信息中存储所述共享代码文件的创建时间;
若接收到更新后的所述共享代码文件,则将更新后的所述共享代码文件覆盖所述代码池中存储的所述共享代码文件;
将接收到更新后的所述共享代码文件的时间作为所述共享代码文件的更新时间,在所述依赖关系信息中存储所述共享代码文件的更新时间。


6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述终端发送的用于请求获取所述终端已下载的各代码文件的更新时间的请求消息;
从所述依赖关系信息中,获取所述终端已...

【专利技术属性】
技术研发人员:彭涛
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1