掌桥专利:专业的专利平台
掌桥专利
首页

一种组件同步变更方法

文献发布时间:2023-06-19 18:46:07


一种组件同步变更方法

技术领域

本发明涉及互联网技术领域,具体为一种组件同步变更方法。

背景技术

随着云计算业务量增长和使用形态的变化,存在公有云、私有云、信创云、超融合、一体机等场景,弹性存储管控系统针对不同的使用场景开发了多个产品,为了保持系统的整体连贯性,每个产品的页面设计风格基本一致。在代码实现层面,每个产品的前端实现部分都对应一个的前端项目。但是,由于种种原因,目前这些前端项目彼此独立,分别开发维护,在开发或修改相似页面组件时,不得不将同一代码逻辑编写多次,以针对不同的项目。这样不但开发效率低下,而且大大增加了人力成本、维护成本,代码质量也很难保证。

目前弹性存储管控系统存在多个相似前端项目,这些项目中很多前端组件都可以复用,而现阶段的开发方式是同一个组件需要在每个项目中独立开发,修改一个组件也需要同时修改多处,存在大量的重复劳动,开发效率低下,而且为了确保产品的一致性,往往需要手动将变更同步到其他项目中,这样不仅效率低下,而且难以保证产品质量,随着后期项目和变更次数增多,这种弊端就越明显。

发明内容

针对现有技术的不足,本发明提供了一种组件同步变更方法,解决了当需要变更弹性存储管控系统中的一个通用页面组件时,为了确保产品的一致性,往往需要手动将变更同步到其他项目中,这样不仅效率低下,而且难以保证产品质量的问题。

为实现以上目的,本发明通过以下技术方案予以实现:一种组件同步变更方法,包括以下方法步骤:

S1:提示用户输入文件路径及业务名称,根据用户输入信息提取文件名及同步类型,重新组合后在文件首行插入唯一标识;

S2:利用关键字检索算法逐行检索文件内是否引用其他文件,递归执行以上过程,直至检索至文件最后一行;

S3:使用同样方式为其他项目的文件进行标识,通过运行cstor_sync_id.sh实现;

S4:将标识过的变更文件同步到其他项目中,通过使用cstor_sync_file.sh脚本或者cstor_sync_file_new.sh脚本实现此过程。

进一步地,所述S1中对于已有项目,确定目标文件在变更代码时需要同步到其他项目,目标文件在其他项目中有一份唯一拷贝,然后为每个文件注入唯一标识。

进一步地,所述S1中注入唯一标识的方式为:在文件的第一行增加注释,注释内容为“同步文件类型/业务名称/文件名”,其中同步文件类型以短横线分割,短横线前固定为‘sync’,短横线后根据当前文件类型自定义名称,业务名称为文件所属的业务模块,最后一部分为当前文件的名称,需与文件名相同。

进一步地,所述注入唯一标识的方式中若文件中引用了其他文件,则将文件中引用的所有文件均标识为多项目同步文件,引用的文件在每个项目中必然存在一份唯一拷贝,若引用文件中仍存在引用文件,需进行递归标识。

进一步地,所述S3中未进行标识的文件不是可多项目复用的文件,未进行标识的文件无需进行同步。

进一步地,对于已有项目,通过cstor_sync_file.sh脚本实现变更同步过程,具体运行方法包括以下步骤:

1)、使用系统集成的代码托管工具检索所有本地变更的文件;

2)、读取文件的首行剔除掉未做标识的文件,并获取每个文件的唯一标识,将文件唯一标识与文件一一对应,得到待同步文件列表,存入本地缓存;

3)、依次远程连接至待同步项目的主机,并定位至项目根目录下,循环本地缓存中的文件列表,根据文件名与唯一标识检索出远程项目的待同步文件;

4)、将本地文件传输至检索出的文件路径下,同时覆盖该文件。

进一步地,所述S1中对于新创建项目,针对可多项目复用的文件规划好目录结构,结合实际项目架构区分现在和未来可能使用的文件类型,并为每种文件类型单独创建文件目录,创建好后,所有项目均需按同样的目录结构构建。

进一步地,对于新创建项目中可复用文件目录结构的构建规则,同样按照所述S1中的唯一标识规则构建目录,即:“同步文件类型/业务名称/文件名”,可复用文件目录需直接置于项目根路径下,同时确保同一文件在所有项目中的相对路径一致。

进一步地,对于新创建项目构建完目录结构后,当目录内的文件内容发生变更后,将变更同步到其他项目中,通过cstor_sync_file_new.sh脚本实现变更同步过程。

进一步地,所述cstor_sync_file_new.sh脚本具体运行方法包括以下步骤:

1)、使用系统集成的代码托管工具检索所有本地变更的文件;

2)、根据文件路径剔除掉不用进行同步的文件,并截取每个文件的相对路径,将文件相对路径与文件一一对应,得到待同步文件列表,存入本地缓存;

3)、依次远程连接至待同步项目的主机,并定位至项目根目录下,循环本地缓存中的文件列表,根据文件相对路径检索出远程项目的待同步文件;

4)、将本地文件传输至检索出的文件路径下,同时覆盖该文件。

本发明具有以下有益效果:该组件同步变更方法,通过复用文件的标记过程和代码同步过程均实现了自动化,用户只需简单输入若干参数就可利用脚本自动实现上述过程,自动化程度高;无论是已有项目还是新建项目,只要满足一定条件均可利用本发明实现代码同步过程,还可以根据项目特点灵活配置脚本参数,灵活度高,适用性广。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

图1为本发明方法流程图;

图2为本发明cstor_sync_id.sh脚本运行流程;

图3为本发明cstor_sync_file.sh脚本运行流程;

图4为本发明注释内容关系图;

图5为本发明cstor_sync_file_new.sh脚本运行流程。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要理解的是,术语“开孔”、“上”、“下”、“厚度”、“顶”、“中”、“长度”、“内”、“四周”等指示方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的组件或元件必须具有特定的方位,以特定的方位构造和操作,因此不能理解为对本发明的限制。

实施例1:请参阅图1-图4,本发明实施例提供一种技术方案:一种组件同步变更方法,如图1所示,包括以下方法步骤:

S1:提示用户输入文件路径及业务名称,若文件存在,根据用户输入信息提取文件名及同步类型,重新组合后在文件首行插入唯一标识;

S2:利用关键字检索算法逐行检索文件内是否引用其他文件,递归执行以上过程,直至检索至文件最后一行;

S3:使用同样方式为其他项目的文件进行标识,通过运行cstor_sync_id.sh实现,如图2所示;

S4:将标识过的变更文件同步到其他项目中,未进行标识的文件无需进行同步,因为他们不是可多项目复用的文件,通过使用cstor_sync_file.sh脚本或者cstor_sync_file_new.sh脚本实现此过程。

在本实施例中,所述S1)中对于已有项目,确定目标文件在变更代码时需要同步到其他项目,目标文件在其他项目中有一份唯一拷贝,这是代码同步的前提条件,然后为每个文件注入唯一标识以确保其唯一性。

在本实施例中,所述S1)中注入唯一标识的方式为:在文件的第一行增加注释,注释内容为“同步文件类型/业务名称/文件名”,如图4所示,其中同步文件类型以短横线分割,短横线前固定为‘sync’,短横线后根据当前文件类型自定义名称,如上述例子中当前文件为一个vue文件,则同步文件类型名为‘sync_vue’,同理,若当前文件为一个js文件,则同步文件类型名为‘sync_js’,下面是其对应关系:

业务名称为文件所属的业务模块,若该文件为通用型组件,不依赖于任何业务,可取名为common;最后一部分为当前文件的名称,需与文件名相同。

在本实施例中,所述注入唯一标识的方式中若文件中引用了其他文件,则将文件中引用的所有文件均标识为多项目同步文件,引用的文件在每个项目中必然存在一份唯一拷贝,若引用文件中仍存在引用文件,需进行递归标识。

在本实施例中,对于已有项目,通过cstor_sync_fi le.sh脚本实现变更同步过程,如图3所示,具体运行方法包括以下步骤:

1)、使用系统集成的代码托管工具检索所有本地变更的文件,目前支持git和svn两种方式,脚本会根据系统自动匹配;

2)、读取文件的首行剔除掉未做标识的文件,并获取每个文件的唯一标识,将文件唯一标识与文件一一对应,得到待同步文件列表,存入本地缓存;

3)、依次远程连接至待同步项目的主机,并定位至项目根目录下,循环本地缓存中的文件列表,根据文件名与唯一标识检索出远程项目的待同步文件;

4)、将本地文件传输至检索出的文件路径下,同时覆盖该文件,完成了代码同步的过程。

实施例2:请参阅图1、图2及图5,本发明实施例提供一种技术方案:一种组件同步变更方法,如图1所示,包括以下方法步骤:

S1:提示用户输入文件路径及业务名称,若文件存在,根据用户输入信息提取文件名及同步类型,重新组合后在文件首行插入唯一标识;

S2:利用关键字检索算法逐行检索文件内是否引用其他文件,递归执行以上过程,直至检索至文件最后一行;

S3:使用同样方式为其他项目的文件进行标识,通过运行cstor_sync_id.sh实现,如图2所示;

S4:将标识过的变更文件同步到其他项目中,未进行标识的文件无需进行同步,因为他们不是可多项目复用的文件,通过使用cstor_sync_file_new.sh脚本实现此过程。

在本实施例中,所述S1)中对于新创建项目,针对可多项目复用的文件规划好目录结构,结合实际项目架构区分现在和未来可能使用的文件类型,并为每种文件类型单独创建文件目录,创建好后,所有项目均需按同样的目录结构构建。

在本实施例中,对于新创建项目中可复用文件目录结构的构建规则,同样按照所述S1)中的唯一标识规则构建目录,即:“同步文件类型/业务名称/文件名”,例如:/sync_vue/osd/table.vue,可复用文件目录需直接置于项目根路径下,同时确保同一文件在所有项目中的相对路径一致,如上述例子中的table.vue文件,在其他项目中的相对路径也应是/sync_vue/osd/table.vue。

在本实施例中,对于新创建项目构建完目录结构后,当目录内的文件内容发生变更后,将变更同步到其他项目中,通过cstor_sync_file_new.sh脚本实现变更同步过程,如图5所示,具体运行方法包括以下步骤:

1)、使用系统集成的代码托管工具检索所有本地变更的文件,目前支持git和svn两种方式,脚本会根据系统自动匹配;

2)、根据文件路径剔除掉不用进行同步的文件,并截取每个文件的相对路径,如:某文件绝对路径为/home/project_name/sync_vue/osd/table.vue,截取文件的相对路径为/sync_vue/osd/table.vue,将文件相对路径与文件一一对应,得到待同步文件列表,存入本地缓存;

3)、依次远程连接至待同步项目的主机,并定位至项目根目录下,循环本地缓存中的文件列表,根据文件相对路径检索出远程项目的待同步文件;

4)、将本地文件传输至检索出的文件路径下,同时覆盖该文件。

本发明提供了一种组件同步变更方法,使相同的代码开发一处,不仅能在本项目中利用多次,更实现了跨项目间的复用,大幅降低了开发成本,提升了代码质量与开发效率,相对现有技术而言,本发明所具有的优点是:

1.自动化程度高:复用文件的标记过程和代码同步过程均实现了自动化,用户只需简单输入若干参数就可利用脚本自动实现上述过程。

2.灵活度高,适用性广:无论是已有项目还是新建项目,只要满足一定条件均可利用本发明实现代码同步过程;还可以根据项目特点灵活配置脚本参数。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

技术分类

06120115687328