CN112131025A - 组件传输方法、装置、计算机设备及存储介质 - Google Patents
组件传输方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112131025A CN112131025A CN202011039787.4A CN202011039787A CN112131025A CN 112131025 A CN112131025 A CN 112131025A CN 202011039787 A CN202011039787 A CN 202011039787A CN 112131025 A CN112131025 A CN 112131025A
- Authority
- CN
- China
- Prior art keywords
- component
- code
- target
- source code
- components
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000005540 biological transmission Effects 0.000 title claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 18
- 230000000712 assembly Effects 0.000 claims description 14
- 238000000429 assembly Methods 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种组件传输方法、装置、计算机设备及存储介质,涉及大数据技术领域,该方法包括:若接收到组件调取请求,确定需调取的目标组件;从组件库中获取目标组件的源代码;若目标组件为多个,提取各目标组件的公共代码;为公共代码分配代码ID,并将公共代码以及代码ID记录在第一记录表中;将各目标组件的源代码中的公共代码替换为相应的代码ID,以得到精简源代码;将各精简源代码以及第二记录表压缩得到第一压缩文件,并将第一压缩文件发送给业务服务器,从而能够有效减少第一压缩文件的内存占用,一方面提高了传输效率,另一方面可减少业务系统发布的H5页面占用的内存,提高页面加载效率。同时,可将组件库储存在区块链中,以确保安全性。
Description
技术领域
本发明涉及前端开发技术领域,尤其涉及一种组件传输方法、装置、计算机设备及存储介质。
背景技术
对于移动端h5(HTML5.0,超文本标记语言5.0版本)项目开发,市面上可用的组件库有很多,功能也大同小异,比如:vux、mint-ui、vant等,现有的组件库存在如下问题:
现有组件库中,组件的源代码都是完全打包编译压缩后的文件。在业务系统请求组件库中的组件时,直接将压缩后的文件发送给业务系统,在业务系统请求的组件较多时,会导致需要传输的文件较大,传输较慢。同时也会导致业务系统发布的H5页面占用的内存较大(H5页面中包含上述请求的组件),加载较慢。
发明内容
本发明实施例提供了一种组件传输方法、装置、计算机设备及存储介质,旨在解决现有技术中组件源代码传输慢的问题。
第一方面,本发明实施例提供了一种组件传输方法,其包括:
若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;
从预设的组件库中获取所述目标组件的源代码;
判断所述目标组件的数量是否为多个;
若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;
为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;
将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;
将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
第二方面,本发明实施例还提供了一种组件传输装置,其包括:
确定单元,用于若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;
第一获取单元,用于从预设的组件库中获取所述目标组件的源代码;
判断单元,用于判断所述目标组件的数量是否为多个;
提取单元,用于若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;
第一分配单元,用于为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;
替换单元,用于将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;
第一发送单元,用于将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种组件传输方法、装置、计算机设备及存储介质。其中,所述方法包括:若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;从所述组件库中获取所述目标组件的源代码;若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;将各所述目标组件的源代码的精简源代码以及所述第二记录表压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器,从而能够有效减少第一压缩文件的内存占用,一方面提高了传输效率,另一方面也可减少业务系统发布的H5页面占用的内存,提高页面的加载效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种组件传输方法的应用场景示意图;
图2为本发明实施例提供的一种组件传输方法的流程示意图;
图3为本发明另一实施例提供的一种组件传输方法的流程示意图;
图4为本发明实施例提供的一种组件传输方法的子流程示意图;
图5为本发明实施例提供的一种组件传输方法的子流程示意图;
图6为本发明实施例提供的一种组件传输方法的子流程示意图;
图7为本发明实施例提供的一种组件传输装置的示意性框图;
图8为本发明另一实施例提供的一种组件传输装置的示意性框图;
图9为本发明实施例提供的一种组件传输装置的第一储存单元的示意性框图;
图10为本发明实施例提供的一种组件传输装置的第一确定单元的示意性框图;
图11为本发明实施例提供的一种组件传输装置的第一获取单元的示意性框图;
图12为本发明实施例提供的一种组件传输装置的第一分配单元的示意性框图;
图13为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1和图2,图1为本发明实施例提供的组件传输方法的应用场景示意图。图2为本发明实施例提供的组件传输方法的示意性流程图。该组件传输方法应用于组件库管理服务器1中。若接收到业务服务器2发送的组件调取请求,组件库管理服务器1确定所述组件调取请求所需调取的组件作为目标组件;组件库管理服务器1从预设的组件库3中获取所述目标组件的源代码;组件库管理服务器1判断所述目标组件的数量是否为多个;若所述目标组件的数量为多个,组件库管理服务器1提取各所述目标组件的源代码中相同的代码作为公共代码;组件库管理服务器1为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;组件库管理服务器1将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;组件库管理服务器1将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器2。
需要说明的是,组件库管理服务器是指管理组件库的服务器。组件库是指存储组件的源代码的数据库。业务服务器是指发布H5页面的服务器。组件是指前端H5页面所需要用到的基本元素,例如,文本框、标题栏、输入栏以及按钮等。
图2是本发明实施例提供的组件传输方法的流程示意图。如图所示,该方法包括以下步骤S1-S7。
S1,若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件。
具体实施中,接收到业务服务器发送的组件调取请求,组件调取请求中包括业务服务器所需调取的组件的标识信息。
组件库管理服务器根据所述标识信息确定所述组件调取请求所需调取的组件作为目标组件。
例如,在一实施例中,标识信息为组件的名称。相应地,根据组件名称确定所述组件调取请求所需调取的组件作为目标组件。
S2,从预设的组件库中获取所述目标组件的源代码。
具体实施中,组件库是指存储组件的源代码的数据库。组件是指前端H5页面所需要用到的基本元素,例如,文本框、标题栏、输入栏以及按钮等。
组件是预先由开发人员创建的,并储存到组件库中的。每个组件都对应有源代码。
根据目标组件的标识信息从所述组件库中获取所述目标组件的源代码。
例如,在一实施例中,标识信息为目标组件的名称。相应地,根据目标组件的名称从所述组件库中获取所述目标组件的源代码。
S3,判断所述目标组件的数量是否为多个。
具体实施中,判断目标组件的数量是否为多个,即判断目标组件的数量是否大于1。
S4,若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码。
具体实施中,由于各目标组件的源代码都是由开发人员通过同一种编程语言编写的,因此各目标组件的源代码中存在相同的代码。
本发明实施例中,提取各所述目标组件的源代码中相同的代码作为公共代码。具体地,可提取任意多个组件的一个或者多个公共代码。
例如,在一实施例中,目标组件包括组件1、组件2以及组件3。组件1、组件2以及组件3都具有的相同的公共代码1,组件2以及组件3具有相同的公共代码2。组件1以及组件2具有相同的公共代码3。则从组件1、组件2以及组件3中可提取到的公共代码包括:公共代码1、公共代码2以及公共代码3。
S5,为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中。
具体实施中,为了更好的对公共代码进行管理,为公共代码分配代码ID。并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中。
在一实施例中,以上步骤S6具体包括:获取公共代码的哈希值,并将公共代码的哈希值作为公共代码的代码ID。
通过以上方式可确保公共代码的代码ID是唯一的,不存在重复的可能。
S6,将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码。
具体实施中,为了精简各所述目标组件的源代码,减少内存占用,将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码。
S7,将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
具体实施中,将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
具体地,通过预设的webpack软件将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件。
需要说明的是,Webpack软件是一个前端资源加载/打包工具。
相应地,所述业务服务器在接收到所述第一压缩文件时,对第一压缩文件进行解压以得到各所述目标组件的源代码的精简源代码以及所述第一记录表。
然后,根据所述第一记录表将所述目标组件的精简源代码中的代码ID替换为公共代码以得到所述目标组件的源代码。
本发明的技术方案,若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;从所述组件库中获取所述目标组件的源代码;若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;将各所述目标组件的源代码的精简源代码以及所述第二记录表压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器,从而能够有效减少第一压缩文件的内存占用,一方面提高了传输效率,另一方面也可减少业务系统发布的H5页面占用的内存,提高页面的加载效率。
图3是本发明另一实施例提供的一种组件传输方法的流程示意图。如图3所示,本实施例的组件传输方法包括步骤S31-S39。
S31,将预构建的组件集合中的组件的源代码储存到预设的组件库中。
具体实施中,组件是指前端H5页面所需要用到的基本元素,例如,文本框、标题栏、输入栏以及按钮等。组件由研发人员预先构建。
在本发明实施例中,直接将组件的源代码储存到组件库中。从而在业务服务器请求组件的源代码时,可从其请求的组件的源代码中提取公共代码,从而减少内存占用。组件集合中包含组件的源代码。
同时,可将组件库储存在区块链中,以确保安全性。
参见图4,在一实施例中,以上步骤S31具体包括如下步骤:S311-S312。
S311,为组件集合中的组件分配组件ID,并将组件集合中的组件的名称与组件集合中的组件的组件ID对应记录在预设的第二记录表中。
具体实施中,组件集合中包括多个组件,为了更好的管理组件,为组件集合中的各组件分配组件ID。
并且,将组件集合中的组件的名称与组件集合中的组件的组件ID对应记录在预设的第二记录表中。
在一实施例中,以上步骤S311具体包括:获取组件的源代码的哈希值,并将组件的源代码的哈希值作为组件的组件ID。
通过以上方式可确保组件的组件ID是唯一的,不存在重复的可能。
S312,将组件集合中的组件的源代码与所述组件集合中的组件的组件ID对应储存到预设的组件库中。
具体实施中,将组件集合中的组件的源代码与所述组件集合中的组件的组件ID对应储存到预设的组件库中。
将组件的源代码与组件的组件ID对应储存到预设的组件库中,便于通过组件的组件ID来查找组件的源代码。
S32,若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件。
具体实施中,接收到业务服务器发送的组件调取请求,组件调取请求中包括业务服务器所需调取的组件的标识信息。
组件库管理服务器根据所述标识信息确定所述组件调取请求所需调取的组件作为目标组件。
参见图5,在一实施例中,所述组件调取请求包括组件的名称,组件的名称即为组件的标识信息,以上步骤S32具体包括:S321-S322。
S321,获取所述组件调取请求包括的组件的名称作为目标名称。
具体实施中,解析获取所述组件调取请求包括的组件的名称作为目标名称。
S322,根据所述第二记录表确定所述目标名称对应的组件ID作为目标组件ID。
具体实施中,查询所述第二记录表,以确定所述目标名称对应的组件ID作为目标组件ID。
若所述目标名称的数量为多个,则分别确定各目标名称对应的组件ID作为目标组件ID。
S33,从所述组件库中获取所述目标组件的源代码。
具体实施中,组件库是指存储组件的源代码的数据库。组件是指前端H5页面所需要用到的基本元素,例如,文本框、标题栏、输入栏以及按钮等。
组件是预先由开发人员创建的,并储存到组件库中的。每个组件都对应有源代码。
根据目标组件的标识信息从所述组件库中获取所述目标组件的源代码。
例如,在一实施例中,标识信息为目标组件的名称。相应地,根据目标组件的名称从所述组件库中获取所述目标组件的源代码。
参见图6,在一实施例中,以上步骤S33具体包括如下步骤:S331-S332。
S331,向所述组件库发送源代码调取请求,所述源代码调取请求包括所述目标组件ID。
具体实施中,向所述组件库发送源代码调取请求。源代码调取请求中包含目标组件ID。目标组件ID的数量可以为多个。目标组件ID通过以上步骤S21-S22确定。
S332,接收所述组件库返回的源代码应答消息,所述源代码应答消息包括所述目标组件ID对应的源代码。
具体实施中,组件库在接收到所述源代码调取请求时,获取目标组件ID对应的源代码,并向组件库管理服务器发送源代码应答消息,所述源代码应答消息包括所述目标组件ID对应的源代码。
相应地,组件库管理服务器接收所述源代码应答消息,并从所述源代码应答消息中获取所述目标组件ID对应的源代码。
S34,判断所述目标组件的数量是否为多个。
具体实施中,判断目标组件的数量是否为多个,即判断目标组件的数量是否大于1。
S35,若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码。
具体实施中,由于各目标组件的源代码都是由开发人员通过同一种编程语言编写的,因此各目标组件的源代码中存在相同的代码。
本发明实施例中,提取各所述目标组件的源代码中相同的代码作为公共代码。具体地,可提取任意多个组件的一个或者多个公共代码。
例如,在一实施例中,目标组件包括组件1、组件2以及组件3。组件1、组件2以及组件3都具有的相同的公共代码1,组件2以及组件3具有相同的公共代码2。组件1以及组件2具有相同的公共代码3。则从组件1、组件2以及组件3中可提取到的公共代码包括:公共代码1、公共代码2以及公共代码3。
S36,为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中。
具体实施中,为了更好的对公共代码进行管理,为公共代码分配代码ID。并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中。
在一实施例中,以上步骤S6具体包括:获取公共代码的哈希值,并将公共代码的哈希值作为公共代码的代码ID。
通过以上方式可确保公共代码的代码ID是唯一的,不存在重复的可能。
S37,将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码。
具体实施中,为了精简各所述目标组件的源代码,减少内存占用,将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码。
S38,将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
具体实施中,将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
具体地,通过预设的webpack软件将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件。
需要说明的是,Webpack软件是一个前端资源加载/打包工具。
相应地,所述业务服务器在接收到所述第一压缩文件时,对第一压缩文件进行解压以得到各所述目标组件的源代码的精简源代码以及所述第一记录表。
然后,根据所述第一记录表将所述目标组件的精简源代码中的代码ID替换为公共代码以得到所述目标组件的源代码。
S39,若所述目标组件的数量为一个,将所述目标组件的源代码压缩以得到第二压缩文件,并将所述第二压缩文件发送给所述业务服务器。
具体实施中,若所述目标组件的数量为一个,将所述目标组件的源代码压缩以得到第二压缩文件,并将所述第二压缩文件发送给所述业务服务器。
相应地,所述业务服务器在接收到所述第二压缩文件时,对所述第二压缩文件进行解压以得到所述目标组件的源代码。
图7是本发明实施例提供的一种组件传输装置70的示意性框图。如图7所示,对应于以上组件传输方法,本发明还提供一种组件传输装置70。该组件传输装置70包括用于执行上述组件传输方法的单元,该组件传输装置70可以被配置于服务器中。具体地,请参阅图7,该组件传输装置70包括第一确定单元71、第一获取单元72、判断单元73、提取单元74、第一分配单元75、替换单元76以及第一发送单元77。
第一确定单元71,用于若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;
第一获取单元72,用于从预设的组件库中获取所述目标组件的源代码;
判断单元73,用于判断所述目标组件的数量是否为多个;
提取单元74,用于若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;
第一分配单元75,用于为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;
替换单元76,用于将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;
第一发送单元77,用于将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
图8是本发明另一实施例提供的一种组件传输装置70的示意性框图。如图8所示,本实施例的组件传输装置70是上述实施例的基础上增加了第一储存单元78以及第二发送单元79。
第一储存单元78,用于将预构建的组件集合中的组件的源代码储存到所述组件库中。
第二发送单元79,用于若所述目标组件的数量为一个,将所述目标组件的源代码压缩以得到第二压缩文件,并将所述第二压缩文件发送给所述业务服务器。
在一实施例中,如图9所示,所述第一储存单元78包括第二分配单元781以及第二储存单元782。
第二分配单元781,用于为组件集合中的组件分配组件ID,并将组件集合中的组件的名称与组件集合中的组件的组件ID对应记录在预设的第二记录表中;
第二储存单元782,用于将组件集合中的组件的源代码与所述组件集合中的组件的组件ID对应储存到所述组件库中。
在一实施例中,如图10所示,所述第一确定单元71包括第二获取单元711以及第二确定单元712。
第二获取单元711,用于获取所述组件调取请求包括的组件的名称作为目标名称;
第二确定单元712,用于根据所述第二记录表确定所述目标名称对应的组件ID作为目标组件ID。
在一实施例中,如图11所示,所述第一获取单元72包括第三发送单元721以及接收单元722。
第三发送单元721,用于向所述组件库发送源代码调取请求,所述源代码调取请求包括所述目标组件ID;
接收单元722,用于接收所述组件库返回的源代码应答消息,所述源代码应答消息包括所述目标组件ID对应的源代码。
在一实施例中,如图12所示,所述第一分配单元75包括第三获取单元751。
第三获取单元751,用于获取所述公共代码的哈希值,并将所述公共代码的哈希值作为所述公共代码的代码ID。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述组件传输装置70和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述组件传输装置70可以实现为一种计算机程序的形式,该计算机程序可以在如图13所示的计算机设备上运行。
请参阅图13,图13是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500是服务器。其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图13,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行一种组件传输方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种组件传输方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;
从预设的组件库中获取所述目标组件的源代码;
判断所述目标组件的数量是否为多个;
若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;
为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;
将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;
将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
在一实施例中,处理器502在实现所述若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件步骤之前,还实现如下步骤:
将预构建的组件集合中的组件的源代码储存到所述组件库中。
在一实施例中,处理器502在实现所述将预构建的组件集合中的组件的源代码储存到所述组件库中步骤时,具体实现如下步骤:
为组件集合中的组件分配组件ID,并将组件集合中的组件的名称与组件集合中的组件的组件ID对应记录在预设的第二记录表中;
将组件集合中的组件的源代码与所述组件集合中的组件的组件ID对应储存到所述组件库中。
在一实施例中,处理器502在实现所述确定所述组件调取请求所需调取的组件作为目标组件步骤时,具体实现如下步骤:
获取所述组件调取请求包括的组件的名称作为目标名称;
根据所述第二记录表确定所述目标名称对应的组件ID作为目标组件ID。
在一实施例中,处理器502在实现所述从预设的组件库中获取所述目标组件的源代码步骤时,具体实现如下步骤:
向所述组件库发送源代码调取请求,所述源代码调取请求包括所述目标组件ID;
接收所述组件库返回的源代码应答消息,所述源代码应答消息包括所述目标组件ID对应的源代码。
在一实施例中,处理器502在实现所述为所述公共代码分配代码ID步骤时,具体实现如下步骤:
获取所述公共代码的哈希值,并将所述公共代码的哈希值作为所述公共代码的代码ID。
在一实施例中,处理器502还实现如下步骤:
若所述目标组件的数量为一个,将所述目标组件的源代码压缩以得到第二压缩文件,并将所述第二压缩文件发送给所述业务服务器。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:
若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;
从预设的组件库中获取所述目标组件的源代码;
判断所述目标组件的数量是否为多个;
若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;
为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;
将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;
将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
在一实施例中,所述处理器在执行所述计算机程序而实现所述若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件步骤之前,还实现如下步骤:
将预构建的组件集合中的组件的源代码储存到所述组件库中。
在一实施例中,所述处理器在执行所述计算机程序而实现所述将预构建的组件集合中的组件的源代码储存到所述组件库中步骤时,具体实现如下步骤:
为组件集合中的组件分配组件ID,并将组件集合中的组件的名称与组件集合中的组件的组件ID对应记录在预设的第二记录表中;
将组件集合中的组件的源代码与所述组件集合中的组件的组件ID对应储存到所述组件库中。
在一实施例中,所述处理器在执行所述计算机程序而实现所述确定所述组件调取请求所需调取的组件作为目标组件步骤时,具体实现如下步骤:
获取所述组件调取请求包括的组件的名称作为目标名称;
根据所述第二记录表确定所述目标名称对应的组件ID作为目标组件ID。
在一实施例中,所述处理器在执行所述计算机程序而实现所述从预设的组件库中获取所述目标组件的源代码步骤时,具体实现如下步骤:
向所述组件库发送源代码调取请求,所述源代码调取请求包括所述目标组件ID;
接收所述组件库返回的源代码应答消息,所述源代码应答消息包括所述目标组件ID对应的源代码。
在一实施例中,所述处理器在执行所述计算机程序而实现所述为所述公共代码分配代码ID步骤时,具体实现如下步骤:
获取所述公共代码的哈希值,并将所述公共代码的哈希值作为所述公共代码的代码ID。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
若所述目标组件的数量为一个,将所述目标组件的源代码压缩以得到第二压缩文件,并将所述第二压缩文件发送给所述业务服务器。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种组件传输方法,其特征在于,包括:
若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;
从预设的组件库中获取所述目标组件的源代码;
判断所述目标组件的数量是否为多个;
若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;
为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;
将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;
将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
2.根据权利要求1所述的组件传输方法,其特征在于,所述若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件之前,所述方法还包括:
将预构建的组件集合中的组件的源代码储存到所述组件库中。
3.根据权利要求2所述的组件传输方法,其特征在于,所述将预构建的组件集合中的组件的源代码储存到所述组件库中,包括:
为组件集合中的组件分配组件ID,并将组件集合中的组件的名称与组件集合中的组件的组件ID对应记录在预设的第二记录表中;
将组件集合中的组件的源代码与所述组件集合中的组件的组件ID对应储存到所述组件库中。
4.根据权利要求3所述的组件传输方法,其特征在于,所述确定所述组件调取请求所需调取的组件作为目标组件,包括:
获取所述组件调取请求包括的组件的名称作为目标名称;
根据所述第二记录表确定所述目标名称对应的组件ID作为目标组件ID。
5.根据权利要求4所述的组件传输方法,其特征在于,所述从预设的组件库中获取所述目标组件的源代码,包括:
向所述组件库发送源代码调取请求,所述源代码调取请求包括所述目标组件ID;
接收所述组件库返回的源代码应答消息,所述源代码应答消息包括所述目标组件ID对应的源代码。
6.根据权利要求1所述的组件传输方法,其特征在于,所述为所述公共代码分配代码ID,包括:
获取所述公共代码的哈希值,并将所述公共代码的哈希值作为所述公共代码的代码ID。
7.根据权利要求1所述的组件传输方法,其特征在于,所述方法还包括:
若所述目标组件的数量为一个,将所述目标组件的源代码进行压缩以得到第二压缩文件,并将所述第二压缩文件发送给所述业务服务器。
8.一种组件传输装置,其特征在于,包括:
确定单元,用于若接收到业务服务器发送的组件调取请求,确定所述组件调取请求所需调取的组件作为目标组件;
第一获取单元,用于从预设的组件库中获取所述目标组件的源代码;
判断单元,用于判断所述目标组件的数量是否为多个;
提取单元,用于若所述目标组件的数量为多个,提取各所述目标组件的源代码中相同的代码作为公共代码;
第一分配单元,用于为所述公共代码分配代码ID,并将所述公共代码以及所述公共代码的代码ID记录在预设的第一记录表中;
替换单元,用于将各所述目标组件的源代码中的所述公共代码替换为所述公共代码的代码ID,以得到各所述目标组件的源代码的精简源代码;
第一发送单元,用于将各所述目标组件的源代码的精简源代码以及所述第一记录表进行压缩以得到第一压缩文件,并将所述第一压缩文件发送给所述业务服务器。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011039787.4A CN112131025A (zh) | 2020-09-28 | 2020-09-28 | 组件传输方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011039787.4A CN112131025A (zh) | 2020-09-28 | 2020-09-28 | 组件传输方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131025A true CN112131025A (zh) | 2020-12-25 |
Family
ID=73843175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011039787.4A Pending CN112131025A (zh) | 2020-09-28 | 2020-09-28 | 组件传输方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131025A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722015A (zh) * | 2021-09-10 | 2021-11-30 | 京东科技控股股份有限公司 | 组合组件的获取方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227056A1 (en) * | 2012-02-28 | 2013-08-29 | Martin Vecera | Reducing web page loading time using a backwards-compatible mechanism |
CN106598573A (zh) * | 2016-11-11 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种简化应用程序语言的方法和装置 |
CN108304190A (zh) * | 2016-09-22 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 网络店铺生成方法及装置 |
CN110333851A (zh) * | 2019-06-12 | 2019-10-15 | 平安科技(深圳)有限公司 | 代码解耦方法及相关设备 |
CN111124477A (zh) * | 2019-12-19 | 2020-05-08 | 华云数据有限公司 | 一种前端配置方法、系统及电子设备 |
-
2020
- 2020-09-28 CN CN202011039787.4A patent/CN112131025A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227056A1 (en) * | 2012-02-28 | 2013-08-29 | Martin Vecera | Reducing web page loading time using a backwards-compatible mechanism |
CN108304190A (zh) * | 2016-09-22 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 网络店铺生成方法及装置 |
CN106598573A (zh) * | 2016-11-11 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种简化应用程序语言的方法和装置 |
CN110333851A (zh) * | 2019-06-12 | 2019-10-15 | 平安科技(深圳)有限公司 | 代码解耦方法及相关设备 |
CN111124477A (zh) * | 2019-12-19 | 2020-05-08 | 华云数据有限公司 | 一种前端配置方法、系统及电子设备 |
Non-Patent Citations (1)
Title |
---|
张晶 等: "基于业务模型和界面模型的代码生成工具", 《电脑与信息技术》, vol. 24, no. 2, 30 April 2016 (2016-04-30), pages 1 - 5 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722015A (zh) * | 2021-09-10 | 2021-11-30 | 京东科技控股股份有限公司 | 组合组件的获取方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140113B2 (en) | Data processing method and device of preset application after upgrading | |
WO2019136800A1 (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
CN110956269A (zh) | 数据模型的生成方法、装置、设备以及计算机存储介质 | |
CN105989098B (zh) | 图标包的生成方法及服务器、图标的处理方法及系统 | |
CN110928851B (zh) | 处理日志信息的方法、装置、设备及存储介质 | |
CN112929401A (zh) | 一种注册方法及装置 | |
CN103370695A (zh) | 数据库更新通知方法 | |
CN112650728A (zh) | 接口信息存储方法、装置、服务器及分布式业务系统 | |
CN113282555A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111198885A (zh) | 数据的处理方法及装置 | |
CN112131025A (zh) | 组件传输方法、装置、计算机设备及存储介质 | |
CN114116505A (zh) | 代码测试方法及装置 | |
CN109472540B (zh) | 业务处理方法和装置 | |
CN107633080B (zh) | 一种用户任务处理方法及装置 | |
CN112433888A (zh) | 数据处理方法及装置、存储介质和电子设备 | |
CN110704041A (zh) | 软件开发方法及装置 | |
CN115098157A (zh) | 一种公共业务数据的处理方法及装置 | |
CN114328007B (zh) | 一种容器备份还原方法、装置及其介质 | |
CN114138371A (zh) | 配置动态加载方法、装置及计算机设备、存储介质 | |
CN111857548B (zh) | 数据读取方法、装置及系统 | |
WO2017167543A1 (en) | Multiform persistence abstraction | |
CN111562928A (zh) | 资源提供方法及装置、资源下载方法及装置 | |
CN111651531A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN111444057A (zh) | 页面性能数据采集方法、装置及计算设备 | |
CN113468125B (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 |