CN112650532B - 一种多人模式下修改源码文件的方法、系统及介质 - Google Patents

一种多人模式下修改源码文件的方法、系统及介质 Download PDF

Info

Publication number
CN112650532B
CN112650532B CN202011411063.8A CN202011411063A CN112650532B CN 112650532 B CN112650532 B CN 112650532B CN 202011411063 A CN202011411063 A CN 202011411063A CN 112650532 B CN112650532 B CN 112650532B
Authority
CN
China
Prior art keywords
source code
file
state
developer
information
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.)
Active
Application number
CN202011411063.8A
Other languages
English (en)
Other versions
CN112650532A (zh
Inventor
孙昌龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011411063.8A priority Critical patent/CN112650532B/zh
Publication of CN112650532A publication Critical patent/CN112650532A/zh
Application granted granted Critical
Publication of CN112650532B publication Critical patent/CN112650532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多人模式下修改源码文件的方法,包括建立文件档案,并写入列表文件表中;设置源码文件,开启本地端的源码管理客户端;当源码文件状态为“可检出”时,源码管理客户端将“可检出”状态时的源码文件信息和开发人员信息传递给源码管理服务;当源码文件状态为“不可检出”时,将开发人员的信息的排队信息录入数据库的文件线程更新表中;当源码管理服务检测到“不可检出”状态的源码文件被提交后,从文件线程更新表中寻找排名第一的开发人员信息并进行通知执行检出操作,并将源码文件在列表文件表中进行锁定;本发明能够保证文件不会因多人同时操作带来的相互冲突和相互覆盖的问题,为开发和维护人员在源码管理上带来便利。

Description

一种多人模式下修改源码文件的方法、系统及介质
技术领域
本发明涉及计算机软件领域,特别是涉及一种多人模式下修改源码文件的方法、系统及介质。
背景技术
使用SVN进行源码管理是很多公司或者组织使用的一种方案,SVN是开源版本控制系统,可以用来追踪、维护源码,并为项目创建分支,统一对源码进行管理并协同开发。开发者利用SVN将SVN服务端的源码检出到本地,进行修改,修改完毕后即可进行提交至服务端供他人查看和使用。
使用SVN管理源码时,每个开发人员都可以将SVN的源码库中将源码检出,当不同开发人员修改同一个文件后进行提交时,如果不再次更新检出源码就提交,会导致将其他人提交的代码进行覆盖,从而导致源码混乱的情况出现,出现这种情况后,需要根据各个版本来追溯处理,耗时耗力。
发明内容
本发明主要解决的技术问题是提供一种多人模式下修改源码文件的方法、系统及介质,能够保证源码库中的代码无法让开发人员全部保存至开发人员本地去修改,一个文件只能由一个人独占式的检出,等检出人员将文件修改完毕提交文件后,其他人员才有权限对该文件进行检出,而且,当多于一个人需要检出该源码文件时,还可以自动进入排队模式,由排队顺序依次通知开发人员进行检出、修改、提交。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种多人模式下修改源码文件的方法,包括:
建立源码服务器,在源码服务器上部署源码管理服务,配置源码管理服务中的配置文件,源码管理服务检测源码服务器中客户端的连接;
根据源码文件夹中的源码文件建立文件档案,并将文件档案写入数据库的列表文件表中;
设置源码文件状态为“可检出”或“不可检出”,开启源码管理客户端;
当源码文件状态为“可检出”时,源码管理客户端将“可检出”状态时的源码文件信息和开发人员信息传递给源码管理服务,源码管理服务执行检出操作,并将源码文件状态变为“不可检出”;执行检出操作完成后,将修改的源码文件覆盖源码管理服务器的源码库中源码文件,同时修改源码文件的状态为“可检出”;
当源码文件状态为“不可检出”时,源码管理客户端将“不可检出”状态时的源码文件的开发人员信息发送给源码管理服务申请排队;源码管理服务根据开发人员的排队信息执行排队锁定操作,并对开发人员进行授权,授权后的开发人员通过源码管理服务执行检出操作,并将源码文件状态变为“不可检出”;执行检出操作完成后,将修改的源码文件覆盖源码管理服务器的源码库中源码文件,同时修改源码文件的状态为“可检出”。
进一步,所述源码管理服务中的配置文件信息包括扫描源码文件的时间间隔、源码文件所在的地址信息、排队的通知方式、排队的人员检出的预留时间;所述列表文件表中存储有文件名、源码文件状态、开发人和上传时间。
进一步,所述源码管理服务执行检出操作包括以下步骤:
源码管理服务接收到源码文件信息和开发人员信息后,将检出的源码文件传输给源码管理客户端;
开发人员对检出的源码文件进行编辑;
将开发人员的信息记录数据库中列表文件表的开发人中。
进一步,所述执行排队锁定操作包括以下步骤:
S101,将开发人员的信息的排队信息录入数据库的文件线程更新表中;
S102,当源码管理服务检测到“不可检出”状态的源码文件被提交后,从文件线程更新表中寻找排名第一的开发人员信息;
S103,通知开发人员,并通过源码管理服务执行检出操作,将源码文件在列表文件表中进行锁定。
进一步,所述S103步骤中,若开发人员在配置文件中排队的人员检出的预留时间内未执行检出操作,则顺次寻找文件线程更新表下个开发人员信息,并通知;
若文件线程更新表中无开发人员信息,则将源码文件状态修改为“可检出”。
一种多人模式下修改源码文件的系统,包括配置模块、检测模块、存储模块、检出模块和更新模块;
所述配置模块配置源码管理服务中配置文件以及对源码文件的状态进行配置;
所述存储模块存储开发人员的信息以及开发人员的排队信息以及根据源码文件夹中的文件建立文件档案,并将文件档案以及源码文件的状态写入数据库中;
所述检测模块检测源码文件的状态;
所述检出模块执行检出操作以及根据所述检测模块检测的源码文件的状态,执行“可检出”状态文件操作和“不可检出”状态文件操作;
所述检出模块包括第一检出模块、第二检出模块以及执行模块;
所述第一检出模块执行“可检出”状态文件操作,将“可检出”状态时的源码文件信息和开发人员信息传递给源码管理服务;
所述第二检出模块执行“不可检出”状态文件操作,将“不可检出”状态时的源码文件的开发人员信息发送给源码管理服务申请排队;源码管理服务根据开发人员的排队信息执行排队锁定操作;
所述更新模块根据所述检出模块执行检出操作后修改的源码文件覆盖源码管理服务器的源码库中源码文件,同时修改数据库中源码文件的状态。
所述执行模块执行检出操作,并将源码文件状态变为“不可检出”。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述的一种多人模式下修改源码文件的方法的步骤。
本发明的有益效果是:本发明实现了开发人员对源码文件的独占式修改方式,并能够保证一个文件在一段时间内只由一个开发人员进行修改,保证了文件不会因多人同时操作带来的相互冲突和相互覆盖的问题,为开发和维护人员在源码管理上带来便利。
附图说明
图1是本发明一种多人模式下修改源码文件的方法一较佳实施例的流程图;
图2是本发明一种多人模式下修改源码文件的方法的列表文件表示意图;
图3是本发明一种多人模式下修改源码文件的系统架构示意图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本发明实施例包括:
第一方面,一种多人模式下修改源码文件的方法,包括:
建立源码服务器,在源码服务器上部署源码管理服务code manager svr;
配置源码管理服务中的配置文件code manager svr.ini,安装MySQL数据库;
源码管理服务code manager svr开启socket2404端口进行监听源码服务器的客户端的连接。
socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。Socket的作用是分配一个接口,实施例中socket2404就是指用socket函数分配2404接口。
源码管理服务中的配置文件code manager svr.ini里面包含的信息有扫描源码文件的时间间隔,间隔为7天;源码文件夹所在的地址信息;排队的通知方式,通过email发送通知;排队人员检出的预留时间,预留时间为24小时。
源码管理服务中的配置文件信息可根据不同的情况进行修改里面的内容,本说明书中只是限定实施例中实施的范围。
源码管理服务code manager svr读取源码管理服务中配置文件code managersvr.ini的源码文件夹的所在的地址信息并读取源码文件夹中的文件;
见图2,针对源码文件夹中的文件建立文件档案,并将文件档案写入数据库的filelist列表文件表中。
设置源码文件状态,当开发人员需要检出文件时,开启源码管理客户端codemanagerclt,这个本地端的源码管理客户端codemanagerclt每台电脑中都会安装一个本地端的源码管理客户端codemanagerclt,通过本地端的源码客户端可以上传到源码管理服务中,在通过源码管理服务器的客户端进行调用源码文件;在本地端的源码管理客户端的界面上可以看到目前源码文件夹中所有的源码文件,并且在本地端的源码管理客户端的界面上根据源码的文件状态显示不同的颜色,绿色为“可检出”状态,红色为“不可检出”状态。
当需要检出源码文件状态为“可检出”状态的文件时,直接点击本地端的源码管理客户端codemanagerclt的界面的“检出”按键,本地端的源码管理客户端codemanagerclt将需要检出的文件信息和开发人员信息传递给源码管理服务code manager svr;
源码管理服务code manager svr接收到信息后,使用scoket的方式将需要检出的文件传输给本地端的源码管理客户端codemanagerclt;开发人员可根据检出的文件进行编辑;将开发人员的信息记录入数据库中filelist列表文件表的开发人一列,并将检出的文件状态修改为“不可检出”;
当需要检出源码文件状态为“不可检出”状态的文件时,则检出该源码文件的开发人员需要进行排队,本地端的源码管理客户端codemanagerclt将该开发人员的信息发送给源码管理服务code manager svr申请排队,源码管理服务code manager svr接收到排队信息后,将该开发人员的信息的排队信息录入数据库的文件线程更新表filelineup进行记录;
当源码管理服务检测到“不可检出”状态的文件被提交后,从文件线程更新表filelineup中寻找排名最靠前的开发人员信息并发送邮件,通知该开发人员可进行检出操作;并且将该文件在filelist列表文件表中进行锁定,只允许邮件通知的人员进行检出操作;
当该开发人员在配置文件中时间内未进行检出操作,则按照文件线程更新表filelineup中顺序寻找下一个开发人员信息,并通知该开发人员;当文件线程更新表filelineup中无开发人员进行排队,则将该文件修改为“可检出”状态,任由开发人员检出。
当开发人员对检出的文件修改完毕后,进行提交本地端的源码管理客户端codemanagerclt将修改后的检出文件与开发人员的信息以socket的方式传递给源码管理服务code manager svr;源码管理服务code manager svr对开发人员和检出人员进行判断,若开发人员与检出人员相同,则以修改后的检出文件对源码管理服务器的源码库中源码文件进行覆盖,同时修改数据库filelist列表文件表中的该文件的检出状态,并根据是否有其他人排队进行通知和修改文件的检出状态;若开发人员与检出人员不同,则拒绝此次操作。
第二方面,本说明书实施例还提供一种多人模式下修改源码文件的系统,包括:配置模块、检测模块、存储模块、检出模块和更新模块;
所述配置模块配置源码管理服务中配置文件以及对源码文件的状态进行配置;
所述存储模块根据源码文件夹中的文件建立文件档案,并将文件档案以及源码文件的状态写入数据库中、存储开发人员的信息以及开发人员的排队信息;
所述检测模块检测源码文件的状态;
所述检出模块执行检出操作以及根据所述检测模块检测的源码文件的状态,执行“可检出”状态文件操作和“不可检出”状态文件操作;
所述更新模块根据所述检出模块执行检出操作后修改的源码文件将源码库中的源码文件进行覆盖,同时修改数据库中的源码文件的状态。
所述检出模块包括第一检出模块、第二检出模块以及执行模块;所述第一检出模块执行“可检出”状态文件操作,将“可检出”状态时的源码文件信息和开发人员信息传递给源码管理服务;所述第二检出模块执行“不可检出”状态文件操作,将“不可检出”状态时的源码文件的开发人员信息发送给源码管理服务申请排队;源码管理服务根据开发人员的排队信息执行排队锁定操作;所述执行模块执行检出操作,并将源码文件状态变为“不可检出”。
第三方面,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述的一种多人模式下修改源码文件的方法的步骤。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种多人模式下修改源码文件的方法,其特征在于,包括:
建立源码服务器,在源码服务器上部署源码管理服务,配置源码管理服务中的配置文件,源码管理服务检测源码服务器中客户端的连接;
根据源码文件夹中的源码文件建立文件档案,并将文件档案写入数据库的列表文件表中;
设置源码文件状态为“可检出”或“不可检出”,开启源码管理客户端;
当源码文件状态为“可检出”时,源码管理客户端将“可检出”状态时的源码文件信息和开发人员信息传递给源码管理服务,源码管理服务执行检出操作,并将源码文件状态变为“不可检出”;执行检出操作完成后,将修改的源码文件覆盖源码管理服务器的源码库中源码文件,同时修改源码文件的状态为“可检出”;
当源码文件状态为“不可检出”时,源码管理客户端将“不可检出”状态时的源码文件的开发人员信息发送给源码管理服务申请排队;源码管理服务根据开发人员的排队信息执行排队锁定操作,并对开发人员进行授权,授权后的开发人员通过源码管理服务执行检出操作,并将源码文件状态变为“不可检出”;执行检出操作完成后,将修改的源码文件覆盖源码管理服务器的源码库中源码文件,同时修改源码文件的状态为“可检出”;
所述源码管理服务中的配置文件信息包括扫描源码文件的时间间隔、源码文件所在的地址信息、排队的通知方式、排队的人员检出的预留时间;所述列表文件表中存储有文件名、源码文件状态、开发人和上传时间;
所述执行排队锁定操作包括以下步骤:
S101,将开发人员的信息的排队信息录入数据库的文件线程更新表中;
S102,当源码管理服务检测到“不可检出”状态的源码文件被提交后,从文件线程更新表中寻找排名第一的开发人员信息;
S103,通知开发人员,并通过源码管理服务执行检出操作,将源码文件在列表文件表中进行锁定。
2.根据权利要求1所述的一种多人模式下修改源码文件的方法,其特征在于:所述源码管理服务执行检出操作包括以下步骤:
源码管理服务接收到源码文件信息和开发人员信息后,将检出的源码文件传输给源码管理客户端;
开发人员对检出的源码文件进行编辑;
将开发人员的信息记录数据库中列表文件表的开发人中。
3.根据权利要求1所述的一种多人模式下修改源码文件的方法,其特征在于:所述S103步骤中,若开发人员在配置文件中排队的人员检出的预留时间内未执行检出操作,则顺次寻找文件线程更新表下个开发人员信息,并通知。
4.根据权利要求3所述的一种多人模式下修改源码文件的方法,其特征在于:若文件线程更新表中无开发人员信息,则将源码文件状态修改为“可检出”。
5.一种多人模式下修改源码文件的系统,采用权利要求1-4任一项所述的方法,其特征在于,包括配置模块、检测模块、存储模块、检出模块和更新模块;
所述配置模块配置源码管理服务中配置文件以及对源码文件的状态进行配置;
所述存储模块存储开发人员的信息以及开发人员的排队信息并根据源码文件夹中的文件建立文件档案,并将文件档案以及源码文件的状态写入数据库中;
所述检测模块检测源码文件的状态;
所述检出模块执行检出操作以及根据所述检测模块检测的源码文件的状态,执行“可检出”状态文件操作和“不可检出”状态文件操作;
所述更新模块根据所述检出模块执行检出操作后修改的源码文件覆盖源码管理服务器的源码库中源码文件,同时修改数据库中源码文件的状态。
6.根据权利要求5所述的一种多人模式下修改源码文件的系统,其特征在于:所述检出模块包括第一检出模块、第二检出模块以及执行模块;
所述第一检出模块执行“可检出”状态文件操作,将“可检出”状态时的源码文件信息和开发人员信息传递给源码管理服务;
所述第二检出模块执行“不可检出”状态文件操作,将“不可检出”状态时的源码文件的开发人员信息发送给源码管理服务申请排队;源码管理服务根据开发人员的排队信息执行排队锁定操作;
所述执行模块执行检出操作,并将源码文件状态变为“不可检出”。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行上述权利要求1-4任一项所述的一种多人模式下修改源码文件的方法的步骤。
CN202011411063.8A 2020-12-04 2020-12-04 一种多人模式下修改源码文件的方法、系统及介质 Active CN112650532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011411063.8A CN112650532B (zh) 2020-12-04 2020-12-04 一种多人模式下修改源码文件的方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011411063.8A CN112650532B (zh) 2020-12-04 2020-12-04 一种多人模式下修改源码文件的方法、系统及介质

Publications (2)

Publication Number Publication Date
CN112650532A CN112650532A (zh) 2021-04-13
CN112650532B true CN112650532B (zh) 2022-07-12

Family

ID=75350218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011411063.8A Active CN112650532B (zh) 2020-12-04 2020-12-04 一种多人模式下修改源码文件的方法、系统及介质

Country Status (1)

Country Link
CN (1) CN112650532B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645069B2 (en) 2021-08-26 2023-05-09 International Business Machines Corporation Synchronizing access controls for audited code development

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483259B1 (en) * 2012-05-07 2016-11-01 Google Inc. System and method for providing real-time execution of source code in a collaborative online software development environment
CN109240669A (zh) * 2018-10-26 2019-01-18 苏州浪潮智能软件有限公司 一种自动化集成部署软件开发模式
CN109445836A (zh) * 2018-09-03 2019-03-08 平安普惠企业管理有限公司 一种源码文件的管理方法、服务器及计算机可读存储介质
CN110555317A (zh) * 2019-09-09 2019-12-10 山东浪潮通软信息科技有限公司 一种应用文件更改处理方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483259B1 (en) * 2012-05-07 2016-11-01 Google Inc. System and method for providing real-time execution of source code in a collaborative online software development environment
CN109445836A (zh) * 2018-09-03 2019-03-08 平安普惠企业管理有限公司 一种源码文件的管理方法、服务器及计算机可读存储介质
CN109240669A (zh) * 2018-10-26 2019-01-18 苏州浪潮智能软件有限公司 一种自动化集成部署软件开发模式
CN110555317A (zh) * 2019-09-09 2019-12-10 山东浪潮通软信息科技有限公司 一种应用文件更改处理方法、装置及系统

Also Published As

Publication number Publication date
CN112650532A (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
US20210223923A1 (en) User interface techniques for an infrastructure orchestration service
US10872029B1 (en) System, apparatus and method for deploying infrastructure to the cloud
US11233708B1 (en) System, apparatus and method for deploying infrastructure to the cloud
US7987211B2 (en) System and method for automated deployment of an information handling system
US9482683B2 (en) System and method for sequential testing across multiple devices
US9146965B2 (en) Information processor, privilege management method, program, and recording medium
US20130282798A1 (en) Systems and Methods for Private Cloud Computing
US8495126B2 (en) System and method for managing the deployment of an information handling system
US12032461B2 (en) Software upgrade stability recommendations
US8640121B2 (en) Facilitating multi-installer product installations
US9911089B2 (en) Email client with ERP task integration
US20170161149A1 (en) Backup management of software environments in a distributed network environment
US11086696B2 (en) Parallel cloned workflow execution
JPH08504282A (ja) コンピュータによるテストを管理するための集中システム及び方法
US11055078B2 (en) Systems and methods for deploying software products to environments
US20080052326A1 (en) Signature Based Client Automatic Data Backup System
US20090222813A1 (en) System and Method for Automated Configuration of an Information Handling System
CN112650532B (zh) 一种多人模式下修改源码文件的方法、系统及介质
CN116226092B (zh) 数据库更新方法及装置
CN113760386A (zh) 一种访问控制系统、访问控制方法及存储介质
US8353013B2 (en) Authorized application services via an XML message protocol
CN107608690B (zh) 配置管理的方法及装置
WO2019237589A1 (zh) 自动授权方法、装置、计算机设备及计算机存储介质
US11650858B2 (en) Maintaining stream processing resource type versions in stream processing
CN112486540A (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