CN111897782A - 文件控制方法、装置、设备及存储介质 - Google Patents
文件控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111897782A CN111897782A CN202010839962.1A CN202010839962A CN111897782A CN 111897782 A CN111897782 A CN 111897782A CN 202010839962 A CN202010839962 A CN 202010839962A CN 111897782 A CN111897782 A CN 111897782A
- Authority
- CN
- China
- Prior art keywords
- file
- code
- file control
- control operation
- warehouses
- 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 62
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000015654 memory Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 7
- 239000000126 substance Substances 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000013024 troubleshooting Methods 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 208000022372 Reading disease Diseases 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 206010013932 dyslexia Diseases 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 208000015897 writing disease Diseases 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了文件控制方法、装置、设备及存储介质,涉及软件开发、浏览器领域。具体实现方案为:检测到控制命令,控制命令指示对至少两个代码仓库进行文件控制操作;基于所述控制命令,确定代码仓库配置文件,并从所述代码仓库配置文件中获取到所述代码仓库的配置特征信息,配置特征信息至少指示有所述代码仓库的位置信息;基于配置特征信息所指示的位置信息,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。这样,提升了处理效率,节约了人力成本,降低了出错的概率,比如在浏览器开发过程中,能够对开发过程中涉及的多个代码仓库进行文件控制操作,如此,来大幅提升开发效率,进而为提升浏览器的迭代效率奠定了基础。
Description
技术领域
本申请涉及计算机领域,尤其涉及软件开发、浏览器领域。
背景技术
传统软件系统的模块及资源均在一起,以一个仓库的形式由版本控制系统进行管理。但是,随着互联网技术的发展,无论是web前端、web后端还是移动端均开始进行模块化、组件化、服务化,以将模块与模块之间进行解耦,实现模块独立开发、独立发布、独立部署,同时,将各模块的代码及资源存储于独立的仓库中,因此,现有软件系统不再对应一个仓库,而会对应几十甚至几百个代码仓库。当出现一个需求涉及很多个仓库的文件修改,此时,若逐个机械式进行修改,必然耗费人力、效率低下,而且,还增加了操作出错的概率。
发明内容
本申请提供了一种文件控制方法、装置、设备及存储介质。
根据本申请的一方面,提供了一种文件控制方法,包括:
检测到控制命令,其中,所述控制命令指示对至少两个代码仓库进行文件控制操作;
基于所述控制命令,确定代码仓库配置文件,并从所述代码仓库配置文件中获取到所述代码仓库的配置特征信息,所述配置特征信息至少指示有所述代码仓库的位置信息;
基于配置特征信息所指示的位置信息,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
根据本申请的另一方面,提供了一种文件控制装置,包括:
检测单元,用于检测到控制命令,其中,所述控制命令指示对至少两个代码仓库进行文件控制操作;
配置特征获取单元,用于基于所述控制命令,确定代码仓库配置文件,并从所述代码仓库配置文件中获取到所述代码仓库的配置特征信息,所述配置特征信息至少指示有所述代码仓库的位置信息;
控制单元,用于基于配置特征信息所指示的位置信息,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上所述的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行以上所述的方法。
根据本申请的技术解决了现有当出现一个需求涉及很多个仓库的文件修改时,需要逐个机械式进行修改的问题,提升了效率,节约了人力成本,同时,降低了操作出错的概率。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例文件控制方法的示意图一;
图2是根据本申请实施例文件控制方法的示意图二;
图3是根据本申请实施例文件控制方法的示意图三;
图4(A)和图4(B)是根据本申请实施例文件控制方法在一具体示例中的示意图;
图5是根据本申请实施例文件控制装置的结构示意图;
图6是用来实现本申请实施例的文件控制方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请方案提供了一种文件控制方法,如图1所示,所述方法包括:
步骤S101:检测到控制命令,其中,所述控制命令指示对至少两个代码仓库进行文件控制操作。
步骤S102:基于所述控制命令,确定代码仓库配置文件,并从所述代码仓库配置文件中获取到所述代码仓库的配置特征信息,所述配置特征信息至少指示有所述代码仓库的位置信息。
步骤S103:基于配置特征信息所指示的位置信息,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
这样,由于本申请方案能够基于配置特征信息并行对代码仓库进行文件控制操作,所以,解决了现有当出现一个需求涉及很多个仓库的文件修改时,需要逐个机械式进行修改的问题,提升了处理效率,节约了人力成本,同时,降低了操作出错的概率。
这里,所述文件控制操作可以具体为针对代码仓库中文本版本的控制操作,即版本控制操作;实际应用中,所述版本控制可以为对软件开发过程中的各种程序代码文件(包含程序代码对应的配置文件及说明文档等)变更的管理和控制,并可对管理的程序代码进行检入检出控制、分支和合并控制、追溯历史变更控制等。
在本申请方案的一具体示例中,为降低文件控制操作失败后对操作结果进行排查的难度,该示例中,如图2所示,包括:
步骤S103-1:基于所述文件控制操作的操作特征,对所述代码仓库进行检验,以确定所述代码仓库是否能够正常执行所述文件控制操作;实际应用中,可以基于配置特征信息以及文件控制操作的操作特征(如操作类型、操作方式等)来检验代码仓库是否能够正常运行所述文件控制操作。
步骤S103-2:在确定所有代码仓库能够正常执行所述文件控制操作后,基于配置特征信息所指示的位置信息,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
如此,确保文件控制操作在多个代码仓库中能够顺利执行,有效避免了文件控制操作无法正常执行而导致的执行错误,为降低错误排查难度奠定了基础。
这里,当确定存现一个或多个不能正常执行所述文件控制操作的代码仓库,此时,暂停并行对多个代码仓库进行文件控制操作,待排查后且确保全部代码仓库均能够正常执行后,并行对多个代码仓库进行文件控制操作,如此,来为后续降低错误排查难度奠定基础。
在本申请方案的另外一具体示例中,为降低文件控制操作失败后对操作结果进行排查的难度,该示例中,如图3所示,包括:
步骤S103-A:基于所述文件控制操作的操作特征,对所述代码仓库进行检验,并得到能够执行所述文件控制操作的至少两个目标代码仓库;比如,实际应用中,可以基于配置特征信息以及文件控制操作的操作特征(如待操作的文件的类型、操作方式等)来检验代码仓库是否能够正常运行所述文件控制操作,并得到能够正常执行所述文件控制操作的至少两个目标代码仓库。
步骤S103-B:基于配置特征信息所指示的位置信息,比如,基于目标代码仓库对应的配置特征信息所指示的位置信息,并行对至少两个所述目标代码仓库进行所述控制指令所对应的文件控制操作。比如,基于目标代码仓库对应的配置特征信息所指示的位置信息,并行对至少两个所述目标代码仓库进行所述控制指令所对应的文件控制操作。
也就是说,本示例仅对能够正常执行文件控制操作的代码仓库,即目标代码仓库进行文件控制,如此,确保文件控制操作在多个代码仓库中能够顺利执行,有效避免了文件控制操作无法正常执行而导致的执行错误,为降低错误排查难度奠定了基础。同时,该示例还能够有效对不能正常执行的代码仓库进行过滤,以降低并行执行的代码仓库的数量,进而提升并行执行的效率。
在本申请方案的一具体示例中,为避免并行执行过程中,对同一个目标文件同时进行多个操作,确保文件读写过程的原子性,在并行对所述代码仓库进行所述文件控制操作的过程中,检测到目标文件进行文件控制操作,其中,所述目标文件为所述代码仓库中的文件;对所述目标文件进行锁定操作,并在执行完成本次所述文件控制操作后对所述目标文件进行解锁操作,以避免针对同一所述目标文件并行执行多个文件控制操作。
这里,需要说明的是,本申请方案所述的代码仓库可以对应一个服务器,也可以为一个服务器中的逻辑存储单元,本申请方案对此不作限制。
在一场景中,当多个代码仓库为同一服务器的不同存储单元时,多个代码仓库可能会共享一个文件,此时,若对多个代码仓库并行执行文件控制操作,可能会出现并行对同一个文件进行操作的情况,所以,会存在操作错误、读写错乱的问题,基于此,为避免并行执行过程中,对同一个目标文件同时进行多个操作,确保文件读写过程的原子性,可以采用该示例中的方案,以此,来避免并行操作过程中文件错乱,进一步为提升并行执行效率奠定了基础。
在本申请方案的一具体示例中,可以基于业务场景需求,或者开发需求,来确定需要进行文件控制的功能组件;进而确定存储各所述功能组件所对应代码的代码仓库(也就是说,所述代码仓库用于存储功能组件的源代码,或二进制码等),进而至少基于所述代码仓库的位置信息,生成针对所述代码仓库的配置特征信息;基于需要进行文件控制的功能组件对应的代码仓库的配置特征信息生成代码仓库配置文件。如此,来丰富本申请方案的应用场景,为工程化应用和推广奠定了基础。
这里,实际应用中,所述配置特征信息还可以包括以下信息中的至少一种:仓库名称、仓库的分支、commit命令、标签(tag)等能够表征仓库配置的相关信息。相应地,所述代码仓库配置文件则为记录有所有需要进行文件控制的功能组件所对应的代码仓库的配置特征信息。实际应用中,所述代码仓库配置文件可以存储于中央代码仓库中,该中央代码仓库可以具体为从代码仓库中指定的任一仓库。此时,本申请方案的执行主体文件控制装置也可为中心代码仓库,也可以为能够调用中心代码仓库的其他主体。
在本申请方案的一具体示例中,还提供了可视化的展示结果,具体地,获取所述代码仓库执行所述文件控制操作后所得到的操作结果,基于预设排版规则对所述操作结果进行排版处理后进行展示。实际应用中,可以基于业务需求,或者开发需求来执行排版规则,如此,在实现可视化结果的基础上,提升操作结果的可读性,进而为提升开发效率奠定了基础。
这里,在一示例中,所述预设排版规则包括分类规则,如此,将操作结果根据分类规则进行分类,然后进行排版展示,以增加操作结果的可读性。
这样,由于本申请方案能够基于配置特征信息并行对代码仓库进行文件控制操作,所以,解决了现有当出现一个需求涉及很多个仓库的文件修改时,需要逐个机械式进行修改的问题,提升了处理效率,节约了人力成本,同时,降低了操作出错的概率。
这样,由于本申请方案能够基于配置特征信息并行对代码仓库进行文件控制操作,所以,解决了现有当出现一个需求涉及很多个仓库的文件修改时,需要逐个机械式进行修改的问题,提升了处理效率,节约了人力成本,同时,降低了操作出错的概率。
以下结合具体示例对本申请方案做进一步详细说明。
实际应用中,会出现如下场景,某个使用分布式版本控制系统(git)进行版本控制的软件系统,经过组件化拆分为100个代码仓库,当管理员希望对每个代码仓库都增加一个描述文件来描述代码仓库内组件的功能,此时,现有方式中,管理员需要通过git拉取100个代码仓库对应的代码到本地,然后,在增加描述文件后对100个代码仓库进行代码提交,实现对100个代码仓库的文件管理,显然,该逐个操作的成本高,而且,随着代码仓库数量的增加,执行效率越低,并且操作易出错。或者,现有方式中,写脚本顺序并逐个对各代码仓库执行git命令,但是,对于执行结果而言,若部分代码仓库执行成功,部分执行失败,则排查成本非常高,对执行失败的仓库恢复难度也大。
基于此,本示例旨在提供一种高效、易用的方案来降低同时操作多个代码仓库时的复杂性。
具体地,如图4(A)所示,通过仓库配置文件来定义所有需要进行版本控制的各代码仓库的配置特征信息,比如,包括仓库名称和对应远端的所在位置(即代码仓库所在地址),同时,还可以配置代码仓库的分支、commit命令、tag等信息,代码仓库的配置特征信息可以继承,以降低配置复杂性。当用户输入版本控制命令后,首先解析并校验输入的命令,并解析得到仓库的配置,即得到需要进行版本控制的各代码仓库的仓库配置(即配置特征信息),包含对应的远端所在位置、所在分支、commit命令、本地所在路径等;然后执行安全校验,校验所有代码仓库是否可以执行当前输入的版本控制命令,进而根据代码仓库状态对部分无需执行该版本控制命令的代码仓库进行过滤,减少执行仓库的个数,提升执行效率的同时,也降低执行失败后对执行结果的排查难度。然后根据输入的版本控制命令执行对应的版本操作(比如,status、pull、push、branch、stash、rebase等,或者还可以为其他git命令),且并行执行以提高执行效率;提取执行该版本操作的所有代码仓库的执行结果,并通过排版打印模块进行排版,根据当前的排版参数整理,比如颜色、当前的命令行窗口的宽度等,最后以高可读性的文字将执行结果答应到窗口上。
当然,实际场景中,本申请方案还能应用于浏览器的开发过程中,比如,在浏览器开发过程中,能够对浏览器开发过程中涉及的多个代码仓库进行文件控制操作,如此,来大幅提升开发效率,进而为提升浏览器的迭代效率奠定了基础。
需要说明的是,管理员可以通过网页,如基于第5代超文本标记语言(简称H5)页面,也可简称H5页面,来展示仓库配置文件,并展示需要进行版本控制的各代码仓库的配置特征信息,以便于用户对代码仓库进行版本控制,比如,通过H5页面来接收用户输入的版本控制命令等。相应地,执行结果等也通过该H5页面来展示,如此,来提升管理员体验。当然,实际应用中,在本示例方案的运行过程中,可能会有中间结果,比如,代码仓库的过滤过程中会存在过滤结果等,此时,该中间结果也可以通过该H5页面来展示,如此,便于开发人员及时查看执行结果。
这里,在本示例的设计过程中所解决关键问题,包括:
第一、安全问题
对于大量代码仓库的处理,保证所有代码仓库执行版本控制命令时都能够成功至关重要,比如,若100个仓库里有50个成功,50个执行失败,此时,排查的难度是致命的。
基于此,本申请方案在执行版本控制命令之前,对所有的代码仓库进行预处理以进行安全检查,比如,若其中一个代码仓库检查失败,则终止执行本次版本控制命令。具体地,以对100个代码仓库批量执行pull命令为例,首先进行预处理检查该100个代码仓库是否能够正常执行pull命令,若发现一个代码仓库不存在远程分支,无法正常执行pull命令,则本次对所有100个代码仓库均不会触发pull操作;当且仅当100个代码仓库预处理检查都成功后,才对所有的代码仓库执行pull操作,如此,来确保所有代码仓库均执行成功。
第二、执行结果可读易用问题
对于大量代码仓库执行版本控制命令所得到的执行结果,若汇集每条执行结果直接展示在电脑屏幕上,那将是一堆红黄绿的各种文字和提示,展示效果差,而且,也不利于开发人员查看执行结果。
基于此,在申请方案提供一个排版打印模块,以此将执行结果根据分类进行打印,增强可读性,比如,分类包括成功、失败、警告、指定字符匹配、仓库类型、分支、仓库大小等,如此,可得到如图4(B)的展示效果,以此,来提升结果可读性。
第三、执行效率问题
对于大量代码仓库的版本控制,命令的执行效率直接影响研发效率,若每个代码仓库执行一条命令的时间是1秒,那么100个仓库的执行时间就是100秒;若代码仓库更多,单条命令执行更长,这个执行得等待时间将会更长,严重降低了研发效率。
基于此,本示例可通过如下两种方式来提高执行效率:
方式一:对多个代码仓库的版本控制采用并行执行命令,以此提高执行效率;现在的系统都是多核CPU,如果将命令的并发数量设置为CPU的内核数量,将成倍降低命令的执行时间。比如在一个8核16线程的系统中对100个代码仓库执行仓库版本控制,此时,执行单条命令的时间是1秒,那么100个仓库的执行时间就是100/16,约等于7秒,执行效率大幅提升。难点是在并发执行过程中,对某些文件的读写需要保证原子性,否则文件的内容将由于多线程读写导致错乱,基于此,本示例采用linux文件锁的方式来确保原子性。
方式二:预处理过程增加代码仓库的过滤步骤,以此来减少需要执行的代码仓库的数量。具体地,在预处理时,根据需要执行的版本控制命令进行预处理,处理时判断当前代码仓库的状态是否有必要执行版本控制命令,若没必要执行,则将不对该代码仓库执行版本控制命令。比如当前对100个代码仓库执行仓库版本控制,经过预处理后真正需要执行命令的代码仓库有10个,执行单条命令的时间为1秒,那么总耗时为10秒,执行效率大幅提升。
这样,能够有效降低同时操作多个代码仓库的难度,而且,配合多仓库的操作规范能够更加方便的根据执行结果来进行问题问题,相较于现有方式而言,平均执行效率能够提高300%以上。
本申请方案提供了一种文件控制装置,如图5所示,包括:
检测单元501,用于检测到控制命令,其中,所述控制命令指示对至少两个代码仓库进行文件控制操作;
配置特征获取单元502,用于基于所述控制命令,确定代码仓库配置文件,并从所述代码仓库配置文件中获取到所述代码仓库的配置特征信息,所述配置特征信息至少指示有所述代码仓库的位置信息;
控制单元503,用于基于配置特征信息所指示的位置信息,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
在本申请方案的一具体示例中,所述控制单元,包括:
第一检验子单元,用于基于所述文件控制操作的操作特征,对所述代码仓库进行检验,以确定所述代码仓库是否能够正常执行所述文件控制操作;
第一控制子单元,用于确定所有代码仓库能够正常执行所述文件控制操作后,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
在本申请方案的一具体示例中,所述控制单元,包括:
第一检验子单元,用于基于所述文件控制操作的操作特征,对所述代码仓库进行检验,并得到能够执行所述文件控制操作的至少两个目标代码仓库;
第一控制子单元,用于并行对至少两个所述目标代码仓库进行所述控制指令所对应的文件控制操作。
在本申请方案的一具体示例中,还包括:
文件检测单元,用于在并行对所述代码仓库进行所述文件控制操作的过程中,检测到目标文件进行文件控制操作,其中,所述目标文件为所述代码仓库中的文件;
文件处理单元,用于对所述目标文件进行锁定操作,并在执行完成本次所述文件控制操作后对所述目标文件进行解锁操作,以避免针对同一所述目标文件并行执行多个文件控制操作。
在本申请方案的一具体示例中,还包括:
功能组件确定单元,用于确定需要进行文件控制的功能组件;
特征信息生成单元,用于确定存储各所述功能组件所对应代码的代码仓库,至少基于所述代码仓库的位置信息,生成针对所述代码仓库的配置特征信息;
配置特征生成单元,用于基于需要进行文件控制的功能组件对应的代码仓库的配置特征信息生成代码仓库配置文件。
在本申请方案的一具体示例中,还包括:
操作结果显示单元,用于获取所述代码仓库执行所述文件控制操作后所得到的操作结果,基于预设排版规则对所述操作结果进行排版处理后进行展示。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的文件控制方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的文件控制方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的文件控制方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的文件控制方法对应的程序指令/模块(例如,附图5所示的检测单元501、配置特征获取单元502和控制单元503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的文件控制方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据文件控制方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至文件控制方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
文件控制方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与文件控制方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,由于本申请方案能够基于配置特征信息并行对代码仓库进行文件控制操作,所以,解决了现有当出现一个需求涉及很多个仓库的文件修改时,需要逐个机械式进行修改的问题,提升了处理效率,节约了人力成本,同时,降低了操作出错的概率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种文件控制方法,包括:
检测到控制命令,其中,所述控制命令指示对至少两个代码仓库进行文件控制操作;
基于所述控制命令,确定代码仓库配置文件,并从所述代码仓库配置文件中获取到所述代码仓库的配置特征信息,所述配置特征信息至少指示有所述代码仓库的位置信息;
基于配置特征信息所指示的位置信息,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
2.根据权利要求1所述的方法,所述并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作,包括:
基于所述文件控制操作的操作特征,对所述代码仓库进行检验,以确定所述代码仓库是否能够正常执行所述文件控制操作;
确定所有代码仓库能够正常执行所述文件控制操作后,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
3.根据权利要求1所述的方法,所述并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作,包括:
基于所述文件控制操作的操作特征,对所述代码仓库进行检验,并得到能够执行所述文件控制操作的至少两个目标代码仓库;
并行对至少两个所述目标代码仓库进行所述控制指令所对应的文件控制操作。
4.根据权利要求1或2所述的方法,还包括:
在并行对所述代码仓库进行所述文件控制操作的过程中,检测到目标文件进行文件控制操作,其中,所述目标文件为所述代码仓库中的文件;
对所述目标文件进行锁定操作,并在执行完成本次所述文件控制操作后对所述目标文件进行解锁操作,以避免针对同一所述目标文件并行执行多个文件控制操作。
5.根据权利要求1所述的方法,还包括:
确定需要进行文件控制的功能组件;
确定存储各所述功能组件所对应代码的代码仓库,至少基于所述代码仓库的位置信息,生成针对所述代码仓库的配置特征信息;
基于需要进行文件控制的功能组件对应的代码仓库的配置特征信息生成代码仓库配置文件。
6.根据权利要求1所述的方法,还包括:
获取所述代码仓库执行所述文件控制操作后所得到的操作结果,基于预设排版规则对所述操作结果进行排版处理后进行展示。
7.一种文件控制装置,包括:
检测单元,用于检测到控制命令,其中,所述控制命令指示对至少两个代码仓库进行文件控制操作;
配置特征获取单元,用于基于所述控制命令,确定代码仓库配置文件,并从所述代码仓库配置文件中获取到所述代码仓库的配置特征信息,所述配置特征信息至少指示有所述代码仓库的位置信息;
控制单元,用于基于配置特征信息所指示的位置信息,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
8.根据权利要求7所述的装置,所述控制单元,包括:
第一检验子单元,用于基于所述文件控制操作的操作特征,对所述代码仓库进行检验,以确定所述代码仓库是否能够正常执行所述文件控制操作;
第一控制子单元,用于确定所有代码仓库能够正常执行所述文件控制操作后,并行对所述至少两个代码仓库进行所述控制指令所对应的文件控制操作。
9.根据权利要求7所述的装置,所述控制单元,包括:
第一检验子单元,用于基于所述文件控制操作的操作特征,对所述代码仓库进行检验,并得到能够执行所述文件控制操作的至少两个目标代码仓库;
第一控制子单元,用于并行对至少两个所述目标代码仓库进行所述控制指令所对应的文件控制操作。
10.根据权利要求7或8所述的装置,还包括:
文件检测单元,用于在并行对所述代码仓库进行所述文件控制操作的过程中,检测到目标文件进行文件控制操作,其中,所述目标文件为所述代码仓库中的文件;
文件处理单元,用于对所述目标文件进行锁定操作,并在执行完成本次所述文件控制操作后对所述目标文件进行解锁操作,以避免针对同一所述目标文件并行执行多个文件控制操作。
11.根据权利要求7所述的装置,还包括:
功能组件确定单元,用于确定需要进行文件控制的功能组件;
特征信息生成单元,用于确定存储各所述功能组件所对应代码的代码仓库,至少基于所述代码仓库的位置信息,生成针对所述代码仓库的配置特征信息;
配置特征生成单元,用于基于需要进行文件控制的功能组件对应的代码仓库的配置特征信息生成代码仓库配置文件。
12.根据权利要求7所述的装置,还包括:
操作结果显示单元,用于获取所述代码仓库执行所述文件控制操作后所得到的操作结果,基于预设排版规则对所述操作结果进行排版处理后进行展示。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010839962.1A CN111897782B (zh) | 2020-08-19 | 2020-08-19 | 文件控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010839962.1A CN111897782B (zh) | 2020-08-19 | 2020-08-19 | 文件控制方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111897782A true CN111897782A (zh) | 2020-11-06 |
CN111897782B CN111897782B (zh) | 2024-04-26 |
Family
ID=73229762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010839962.1A Active CN111897782B (zh) | 2020-08-19 | 2020-08-19 | 文件控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897782B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631652A (zh) * | 2020-12-29 | 2021-04-09 | 微医云(杭州)控股有限公司 | 操作指令响应方法、装置、设备和存储介质 |
CN112783533A (zh) * | 2021-02-03 | 2021-05-11 | 北京达佳互联信息技术有限公司 | 版本信息更新方法、装置、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120180063A1 (en) * | 2010-11-24 | 2012-07-12 | Nokia Corporation | Method and Apparatus for Providing Management of Parallel Library Implementation |
CN110196725A (zh) * | 2019-04-23 | 2019-09-03 | 平安科技(深圳)有限公司 | 配置文件管理方法、装置、计算机设备及存储介质 |
CN110647415A (zh) * | 2019-08-14 | 2020-01-03 | 平安科技(深圳)有限公司 | 数据库检测方法、装置、设备及计算机可读存储介质 |
CN111309369A (zh) * | 2018-12-12 | 2020-06-19 | 北京奇虎科技有限公司 | 基于Git代码仓库的代码管理方法及装置 |
CN111352649A (zh) * | 2018-12-24 | 2020-06-30 | 北京嘀嘀无限科技发展有限公司 | 代码处理方法、装置、服务器及可读存储介质 |
-
2020
- 2020-08-19 CN CN202010839962.1A patent/CN111897782B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120180063A1 (en) * | 2010-11-24 | 2012-07-12 | Nokia Corporation | Method and Apparatus for Providing Management of Parallel Library Implementation |
CN111309369A (zh) * | 2018-12-12 | 2020-06-19 | 北京奇虎科技有限公司 | 基于Git代码仓库的代码管理方法及装置 |
CN111352649A (zh) * | 2018-12-24 | 2020-06-30 | 北京嘀嘀无限科技发展有限公司 | 代码处理方法、装置、服务器及可读存储介质 |
CN110196725A (zh) * | 2019-04-23 | 2019-09-03 | 平安科技(深圳)有限公司 | 配置文件管理方法、装置、计算机设备及存储介质 |
CN110647415A (zh) * | 2019-08-14 | 2020-01-03 | 平安科技(深圳)有限公司 | 数据库检测方法、装置、设备及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631652A (zh) * | 2020-12-29 | 2021-04-09 | 微医云(杭州)控股有限公司 | 操作指令响应方法、装置、设备和存储介质 |
CN112783533A (zh) * | 2021-02-03 | 2021-05-11 | 北京达佳互联信息技术有限公司 | 版本信息更新方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111897782B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797582B2 (en) | Regular expression generation based on positive and negative pattern matching examples | |
CN110806923B (zh) | 一种区块链任务的并行处理方法、装置、电子设备和介质 | |
US11307948B2 (en) | Fault injection method and apparatus, electronic device and storage medium | |
CN111666206B (zh) | 变更代码的影响范围的获取方法、装置、设备及存储介质 | |
CN111708520B (zh) | 应用构建方法、装置、电子设备及存储介质 | |
EP3159798B1 (en) | Method and system for determining user interface usage | |
CN111782669B (zh) | 一种分布式锁的实现方法、装置及电子设备 | |
CN111897782B (zh) | 文件控制方法、装置、设备及存储介质 | |
CN111737965A (zh) | 文档的比对方法、装置、电子设备和可读存储介质 | |
CN113748413B (zh) | 文本检测、插入符号追踪以及活动元素检测 | |
US9043760B2 (en) | Creating dynamic interactive views from trace events for performing deterministic performance analysis | |
US10127329B2 (en) | Processing large XML files by splitting and hierarchical ordering | |
EP4209899A1 (en) | Method and apparatus for updating cloud platform | |
CN110647937A (zh) | 标注模型训练方法及装置 | |
US20240037084A1 (en) | Method and apparatus for storing data | |
CN112182141A (zh) | 一种关键信息抽取方法、装置、设备和可读存储介质 | |
CN111832070B (zh) | 数据的掩码方法、装置、电子设备和存储介质 | |
EP3812958A1 (en) | Method and apparatus for detecting and tracking target, electronic device and storage media | |
EP3889770A1 (en) | Mini program material processing method and apparatus, electronic device, and medium | |
CN111984545A (zh) | 检测单元测试稳定性的方法、装置、电子设备及存储介质 | |
JP2022527874A (ja) | テキスト検出、キャレット追跡、及びアクティブ要素検出 | |
CN111966877A (zh) | 前端服务方法、装置、设备及存储介质 | |
CN111596897A (zh) | 代码复用的处理方法、装置及电子设备 | |
CN111274127A (zh) | 代码评审中的代码跳转方法、装置、设备和介质 | |
CN111310481A (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 |