CN113553060B - 代码的处理方法、装置、设备及存储介质 - Google Patents
代码的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113553060B CN113553060B CN202110873632.9A CN202110873632A CN113553060B CN 113553060 B CN113553060 B CN 113553060B CN 202110873632 A CN202110873632 A CN 202110873632A CN 113553060 B CN113553060 B CN 113553060B
- Authority
- CN
- China
- Prior art keywords
- code
- application code
- auditing
- server
- user
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及大数据领域,公开了代码的处理方法、装置、设备及存储介质,用于解决无法对代码进行commit(操作指令)级别审核的问题,还用于提高提交代码的安全性和稳定性。代码的处理方法包括:获取用户应用代码,用户应用代码为应用程序代码;判断用户应用代码是否为待审核代码;若用户应用代码为待审核代码,则调用第一服务器基于交叉审核策略对用户应用代码进行操作指令级别的审核,生成审核后的应用代码;若用户应用代码不为待审核代码,则将用户应用代码提交至第二服务器,生成待处理的应用代码;根据审核后的应用代码或者待处理的应用代码,在第二服务器生成目标应用代码。此外,本发明还涉及区块链技术,用户应用代码可存储于区块链中。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种代码的处理方法、装置、设备及存储介质。
背景技术
每个软件公司都需要进行代码开发,有多人协助开发的需求,就需要使用代码管理软件,GitLab代码管理平台做为当下最流行的代码管理软件也被很多公司使用。GitLab代码管理平台的优点包括分布式版本管理、速度快、更灵活便捷、公共服务器压力小以及冲突解决容易等。
在现有技术中,GitLab代码管理平台开源版本基本已经满足了日常需求,界面友好便捷,管理功能强大,但是利用GitLab代码管理平台进行代码管理,只能对代码进行分支级别的审核,无法对代码进行commit(操作指令)级别的审核。
发明内容
本发明提供了一种代码的处理方法、装置、设备及存储介质,用于解决无法对代码进行commit(操作指令)级别审核的问题,还用于提高提交代码的安全性和稳定性。
本发明第一方面提供了一种代码的处理方法,包括:获取用户应用代码,所述用户应用代码为应用程序代码;判断所述用户应用代码是否为待审核代码;若所述用户应用代码为待审核代码,则调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;若所述用户应用代码不为待审核代码,则将所述用户应用代码提交至第二服务器,生成待处理的应用代码;根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码。
可选的,在本发明第一方面的第一种实现方式中,所述判断所述用户应用代码是否为待审核代码包括:读取所述用户应用代码对应的目标维度Git远程仓库,并基于所述目标维度Git远程仓库确定对应的目标应用;判断所述目标应用是否为待上线应用;若所述目标应用为待上线应用,则判定所述用户应用代码为待审核代码。
可选的,在本发明第一方面的第二种实现方式中,所述若所述用户应用代码为待审核代码,则调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码包括:若所述用户应用代码为待审核代码,则读取所述用户应用代码对应的用户名称;调用第一服务器基于所述用户名称和交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
可选的,在本发明第一方面的第三种实现方式中,所述调用第一服务器基于所述用户名称和交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码包括:基于交叉审核策略获取代码审核指令;解析所述代码审核指令,至少得到邮件审核指令、信息格式审核指令和分支权限审核指令;按照所述邮件审核指令、所述信息格式审核指令和所述分支权限审核指令对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
可选的,在本发明第一方面的第四种实现方式中,所述根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码包括:当根据所述审核后的应用代码生成目标应用代码时,对所述审核后的应用代码进行处理,生成处理后的应用代码;对所述处理后的应用代码进行多机房代码同步,在第二服务器中生成目标应用代码;当根据所述待处理的应用代码生成目标应用代码时,对所述待处理的应用代码进行代码检测和多机房同步,在第二服务器生成目标应用代码。
可选的,在本发明第一方面的第五种实现方式中,所述当根据所述审核后的应用代码生成目标应用代码时,对所述审核后的应用代码进行处理,生成处理后的应用代码包括:当根据所述审核后的应用代码生成目标应用代码时,调用钩子检查函数对所述审核后的应用代码进行代码检测,生成检测后的应用代码;对所述检测后的应用代码进行代码测试,生成处理后的应用代码。
可选的,在本发明第一方面的第六种实现方式中,在所述根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码之后,所述代码的处理方法还包括:调用预置的钩子函数,从所述目标应用代码中提取分支信息和推送时刻,并存储所述分支信息和所述推送时刻。
本发明第二方面提供了一种代码的处理装置,包括:获取模块,用于获取用户应用代码,所述用户应用代码为应用程序代码;判断模块,用于判断所述用户应用代码是否为待审核代码;审核模块,若所述用户应用代码为待审核代码,则用于调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;提交模块,若所述用户应用代码不为待审核代码,则用于将所述用户应用代码提交至第二服务器,生成待处理的应用代码;生成模块,用于根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码。
可选的,在本发明第二方面的第一种实现方式中,所述判断模块还可以具体用于:读取所述用户应用代码对应的目标维度Git远程仓库,并基于所述目标维度Git远程仓库确定对应的目标应用;判断所述目标应用是否为待上线应用;若所述目标应用为待上线应用,则判定所述用户应用代码为待审核代码。
可选的,在本发明第二方面的第二种实现方式中,所述审核模块包括:读取单元,若所述用户应用代码为待审核代码,则用于读取所述用户应用代码对应的用户名称;审核单元,用于调用第一服务器基于所述用户名称和交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
可选的,在本发明第二方面的第三种实现方式中,所述审核单元还可以具体用于:基于交叉审核策略获取代码审核指令;解析所述代码审核指令,至少得到邮件审核指令、信息格式审核指令和分支权限审核指令;按照所述邮件审核指令、所述信息格式审核指令和所述分支权限审核指令对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
可选的,在本发明第二方面的第四种实现方式中,所述生成模块包括:第一处理单元,当根据所述审核后的应用代码生成目标应用代码时,用于对所述审核后的应用代码进行处理,生成处理后的应用代码;同步单元,用于对所述处理后的应用代码进行多机房代码同步,在第二服务器中生成目标应用代码;第二处理单元,当根据所述待处理的应用代码生成目标应用代码时,用于对所述待处理的应用代码进行代码检测和多机房同步,在第二服务器生成目标应用代码。
可选的,在本发明第二方面的第五种实现方式中,所述第一处理单元还可以用于:当根据所述审核后的应用代码生成目标应用代码时,调用钩子检查函数对所述审核后的应用代码进行代码检测,生成检测后的应用代码;对所述检测后的应用代码进行代码测试,生成处理后的应用代码。
可选的,在本发明第二方面的第六种实现方式中,代码的处理装置还包括:存储模块,用于调用预置的钩子函数,从所述目标应用代码中提取分支信息和推送时刻,并存储所述分支信息和所述推送时刻。
本发明第三方面提供了一种代码的处理设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述代码的处理设备执行上述的代码的处理方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的代码的处理方法。
本发明提供的技术方案中,获取用户应用代码,所述用户应用代码为应用程序代码;判断所述用户应用代码是否为待审核代码;若所述用户应用代码为待审核代码,则调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;若所述用户应用代码不为待审核代码,则将所述用户应用代码提交至第二服务器,生成待处理的应用代码;根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码。本发明实施例中,调用第一服务器基于交叉审核策略对需要审核的用户应用代码进行操作指令级别的审核,从而在第二服务器生成目标应用代码;调用第一服务器对代码进行操作指令级别的审核,提高了提交代码的安全性和稳定性。
附图说明
图1为本发明实施例中代码的处理方法的一个实施例示意图;
图2为本发明实施例中代码的处理方法的另一个实施例示意图;
图3为本发明实施例中代码的处理装置的一个实施例示意图;
图4为本发明实施例中代码的处理装置的另一个实施例示意图;
图5为本发明实施例中代码的处理设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种代码的处理方法、装置、设备及存储介质,用于解决无法对代码进行commit(操作指令)级别审核的问题,还用于提高提交代码的安全性和稳定性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中代码的处理方法的一个实施例包括:
101、获取用户应用代码,用户应用代码为应用程序代码;
服务器获取为应用程序代码的用户应用代码。需要强调的是,为进一步保证上述用户应用代码的私密和安全性,上述用户应用代码还可以存储于一区块链的节点中。
服务器获取存储在Git远程仓库中的用户应用代码,用户应用代码指的是应用程序的代码,用户指的是写入该应用代码的用户。需要说明的是,Git远程仓库中包括多个维度Git远程仓库,其中一个应用就对应一个维度Git远程仓库,在每个维度Git远程仓库中都存储对应的应用代码。
可以理解的是,本发明的执行主体可以为代码的处理装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
102、判断用户应用代码是否为待审核代码;
服务器判断用户应用代码是否为待审核代码。用户应用代码可以传输至第一服务器进行审核,也可以直接上传至第二服务器,因此服务器需要判断用户应用代码是否为待审核代码,待审核代码大多数为需要发布的应用的代码,而不需要发布的应用的代码为不需要审核的代码。
103、若用户应用代码为待审核代码,则调用第一服务器基于交叉审核策略对用户应用代码进行操作指令级别的审核,生成审核后的应用代码;
如果用户应用代码为待审核代码,服务器则调用第一服务器基于交叉审核策略对待审核代码进行操作指令级别的审核,生成审核后的应用代码。
需要说明的是,在本实施例中,第一服务器为Gerrit服务器。如果用户应用代码为待审核代码,服务器需要对用户应用代码进行commit级别的代码审核,commit为一种操作指令,服务器对用户应用代码进行commit级别的审核。在本实施例中,主要采用交叉审核的策略对用户应用代码进行审核,即将用户应用代码提交至与提交用户应用代码不同的用户进行审核,在执行交叉用户发出的审核指令时,服务器调用第一服务器对用户应用代码进行审核,从而生成审核后的应用代码。
104、若用户应用代码不为待审核代码,则将用户应用代码提交至第二服务器,生成待处理的应用代码;
如果用户应用代码不是待审核代码,服务器将用户应用代码直接提交至第二服务器,从而生成待处理的应用代码。
需要说明的是,在本实施例中,第二服务器为Gitlab服务器。如果用户应用代码不为待审核代码,说明用户应用代码无需进行审核,此时直接将该用户应用代码提交至第二服务器即可,从而得到待处理的应用代码。
105、根据审核后的应用代码或者待处理的应用代码,在第二服务器生成目标应用代码。
服务器根据审核后的应用代码在第二服务器生成目标应用代码,或者根据待处理的应用代码在第二服务器生成目标应用代码。
需要说明的是,由于审核后的应用代码和待处理的应用代码之前的处理方式不同,因此基于两种代码生成目标应用代码的处理方式也不同。
本发明实施例中,调用第一服务器基于交叉审核策略对需要审核的用户应用代码进行操作指令级别的审核,从而在第二服务器生成目标应用代码;调用第一服务器对代码进行操作指令级别的审核,提高了提交代码的安全性和稳定性。
请参阅图2,本发明实施例中代码的处理方法的另一个实施例包括:
201、获取用户应用代码,用户应用代码为应用程序代码;
服务器获取为应用程序代码的用户应用代码。需要强调的是,为进一步保证上述用户应用代码的私密和安全性,上述用户应用代码还可以存储于一区块链的节点中。
服务器获取存储在Git远程仓库中的用户应用代码,用户应用代码指的是应用程序的代码,用户指的是写入该应用代码的用户。需要说明的是,Git远程仓库中包括多个维度Git远程仓库,其中一个应用就对应一个维度Git远程仓库,在每个维度Git远程仓库中都存储对应的应用代码。
202、判断用户应用代码是否为待审核代码;
服务器判断用户应用代码是否为待审核代码。用户应用代码可以传输至第一服务器进行审核,也可以直接上传至第二服务器,因此服务器需要判断用户应用代码是否为待审核代码,待审核代码大多数为需要发布的应用的代码,而不需要发布的应用的代码为不需要审核的代码。
具体的,服务器读取用户应用代码对应的目标维度Git远程仓库,并基于目标维度Git远程仓库确定对应的目标应用;服务器判断目标应用是否为待上线应用;若目标应用为待上线应用,服务器则判定用户应用代码为待审核代码。
服务器读取用户应用代码对应的目标维度Git远程仓库,然后基于该Git远程仓库确定对应的目标应用,需要说明的是,一个目标应用对应一个用户应用代码,服务器判断该目标应用是否为待上线应用,待上线应用即待发布应用,具有待上线标识,如果该目标应用具有待上线标识,则说明该目标应用为待上线应用,服务器判定用户应用代码为待审核代码。
需要说明的是,一些目标应用为线下应用,无需进行上线发布,此时的用户应用代码不为待审核代码。还有一些维度Git远程仓库为私密Git远程仓库,即当用户应用代码存储于私密Git远程仓库中时,服务器则判定该用户应用代码不为待审核代码。
203、若用户应用代码为待审核代码,则调用第一服务器基于交叉审核策略对用户应用代码进行操作指令级别的审核,生成审核后的应用代码;
如果用户应用代码为待审核代码,服务器则调用第一服务器基于交叉审核策略对待审核代码进行操作指令级别的审核,生成审核后的应用代码。
服务器需要对用户应用代码进行commit级别的代码审核,commit为一种操作指令,服务器对用户应用代码进行commit级别的审核。在本实施例中,主要采用交叉审核的策略对用户应用代码进行审核,即将用户应用代码提交至与提交用户应用代码不同的用户进行审核,在执行交叉用户发出的审核指令时,服务器调用第一服务器对用户应用代码进行审核,从而生成审核后的应用代码。
具体的,若用户应用代码为待审核代码,服务器则读取用户应用代码对应的用户名称;服务器调用Gerrit服务器基于用户名称和交叉审核策略对用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
如果用户应用代码为待审核代码,服务器读取用户应用代码对应的用户名称,该用户名称为提交用户代码的用户的名称,服务器以此为标识,将待审核代码传输至与用户名称不同的用户,即交叉用户的终端进行审核,服务器接收来自交叉用户的终端发出的审核指令,并基于该审核指令调用Gerrit服务器对用户应用代码进行审核,从而生成审核后的应用代码。
服务器调用Gerrit服务器基于用户名称和交叉审核策略对用户应用代码进行审核,生成审核后的应用代码包括:
服务器基于交叉审核策略获取代码审核指令;服务器解析代码审核指令,至少得到邮件审核指令、信息格式审核指令和分支权限审核指令;服务器按照邮件审核指令、信息格式审核指令和分支权限审核指令对用户应用代码进行审核,生成审核后的应用代码。
服务器基于交叉审核策略,获取代码审核指令,假设用户应用代码为用户A的代码,此时服务器基于交叉审核策略,获取的代码审核指令为除用户A以外的交叉用户通过对应终端发出的审核指令,当交叉用户通过对应终端发出代码审核指令时,服务器获取该代码审核指令,然后服务器对代码审核指令进行解析,在本实施例中,解析代码审核指令至少得到邮件审核指令、信息格式审核指令和分支权限审核指令;最后服务器按照邮件审核指令、信息格式审核指令和分支权限审核指令对用户应用代码进行审核,生成审核后的应用代码。
需要说明的是,在本实施例中,邮件审核指令有对应的邮件审核规则,当按照邮件审核指令对用户应用代码审核时,主要是对用户应用代码的来源方进行审核,只有当用户应用代码的来源方符合邮件审核规则,即为公司内部邮箱时,用户应用代码才通过基于邮件审核指令执行的审核;信息格式审核指令也有对应的信息格式审核规则,信息格式审核规则需要包含`DESC`提交信息描述的审核规则,进一步的包括需求id审核规则,需求id可追述到具体需求;需求类型审核规则:bugFix(漏洞修复)/reqDev(需求开发)/faultFix(错误修复),当信息格式审核指令中包括需求ID审核和需求类型时,服务器按照信息格式审核指令和对应的信息格式审核规则对用户应用代码进行审核;分支权限审核指令对应分支权限审核规则,分支权限审核规则是以相关团队建立的分支权限,例如交叉用户A发出的代码审核指令只具有审核用户应用代码的A部分的权限,服务器按照分支权限审核指令对用户应用代码进行审核,生成审核后的应用代码。
204、若用户应用代码不为待审核代码,则将用户应用代码提交至第二服务器,生成待处理的应用代码;
如果用户应用代码不是待审核代码,服务器将用户应用代码直接提交至第二服务器,从而生成待处理的应用代码。
如果用户应用代码不为待审核代码,说明用户应用代码无需进行审核,此时直接将该用户应用代码提交至第二服务器即可,从而得到待处理的应用代码。
205、根据审核后的应用代码或者待处理的应用代码,在第二服务器生成目标应用代码;
服务器根据审核后的应用代码在Gitlab服务器生成目标应用代码,或者根据待处理的应用代码在Gitlab服务器生成目标应用代码。
需要说明的是,由于审核后的应用代码和待处理的应用代码之前的处理方式不同,因此基于两种代码生成目标应用代码的处理方式也不同。
具体的,当根据审核后的应用代码生成目标应用代码时,服务器对审核后的应用代码进行处理,生成处理后的应用代码;服务器对处理后的应用代码进行多机房代码同步,在Gitlab服务器中生成目标应用代码;当根据待处理的应用代码生成目标应用代码时,服务器对待处理的应用代码进行代码检测和多机房同步,在Gitlab服务器生成目标应用代码。
当根据审核后的应用代码生成目标应用代码时,服务器对审核后的应用代码进行处理,生成处理后的应用代码,然后服务器再对处理后的应用代码进行多机房代码同步,从而在Gitlab服务器生成目标应用代码;当根据待处理的应用代码生成目标应用代码时,服务器无需对待处理的应用代码进行其他处理,只需对其进行代码检测和多机房同步,即可在Gitlab服务器生成目标应用代码。
当根据审核后的应用代码生成目标应用代码时,服务器首先读审核后的代码进行处理,在本实施例中,主要对审核后的应用代码进行代码检测和代码测试,为了保证审核后的应用代码的信息是正确且符合公司代码提交策略,服务器对审核后的应用代码进行代码检测,为了保证代码在生效时没有问题,服务器对审核后的应用代码还进行代码测试,从而生成处理后的应用代码,最后服务器将处理后的应用代码同步至多机房,从而在Gitlab服务器中生成目标应用代码。当根据待处理的应用代码生成目标应用代码时,为了保证代码在生效时可以正常运行,服务器对审核后的应用代码还进行代码测试,然后再将其同步至多机房,从而在Gitlab服务器中生成目标应用代码。
需要说明的是,代码测试为自动触发的功能,当Gitlab服务器接收到代码,即刻触发代码测试的功能进行代码测试。
当根据审核后的应用代码生成目标应用代码时,服务器对审核后的应用代码进行处理,生成处理后的应用代码包括:
当根据审核后的应用代码生成目标应用代码时,服务器调用钩子检查函数对审核后的应用代码进行代码检测,生成检测后的应用代码;服务器对检测后的应用代码进行代码测试,生成处理后的应用代码。
当服务器根据审核后的应用代码生成目标应用代码时,服务器调用钩子检查函数(hooks)对审核后的应用代码进行检测,从而保证审核后的应用代码的信息是正确且符合公司代码提交策略,生成检测后的应用代码;然后触发代码测试对检测后的应用代码进行测试,生成处理后的应用代码。
206、调用预置的钩子函数,从目标应用代码中提取分支信息和推送时刻,并存储分支信息和推送时刻。
每次在Gitlab服务器中生成目标应用代码之后,服务器还可以触发一个特殊的预置的钩子函数,用来存储分支信息和推送时刻,首先调用该钩子函数提取分支信息和推送时刻,然后将其进行存储。
需要说明的是,分支信息大致分为:
(1)Develop等一般分支信息,不对该信息进行格式限制;
(2)test_xxx开头的测试分支信息,从(1)中迁出,可以再次修改;
(3)pre_xxx开头的预发分支信息,从(2)迁出,不可以再次修改;
(4)master分支信息,主分支信息,将会合并(3)中的分支,只执行系统管理员终端发出的修改指令。
服务器将推送时刻和分支信息存储下来,以供查询目标应用代码,提高了查询的效率。
本发明实施例中,调用第一服务器基于交叉审核策略对需要审核的用户应用代码进行操作指令级别的审核,从而在第二服务器生成目标应用代码;调用第一服务器对代码进行操作指令级别的审核,提高了提交代码的安全性和稳定性。
上面对本发明实施例中代码的处理方法进行了描述,下面对本发明实施例中代码的处理装置进行描述,请参阅图3,本发明实施例中代码的处理装置一个实施例包括:
获取模块301,用于获取用户应用代码,所述用户应用代码为应用程序代码;
判断模块302,用于判断所述用户应用代码是否为待审核代码;
审核模块303,若所述用户应用代码为待审核代码,则用于调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;
提交模块304,若所述用户应用代码不为待审核代码,则用于将所述用户应用代码提交至第二服务器,生成待处理的应用代码;
生成模块305,用于根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码。
本发明实施例中,调用第一服务器基于交叉审核策略对需要审核的用户应用代码进行操作指令级别的审核,从而在第二服务器生成目标应用代码;调用第一服务器对代码进行操作指令级别的审核,提高了提交代码的安全性和稳定性。
请参阅图4,本发明实施例中代码的处理装置的另一个实施例包括:
获取模块301,用于获取用户应用代码,所述用户应用代码为应用程序代码;
判断模块302,用于判断所述用户应用代码是否为待审核代码;
审核模块303,若所述用户应用代码为待审核代码,则用于调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;
提交模块304,若所述用户应用代码不为待审核代码,则用于将所述用户应用代码提交至第二服务器,生成待处理的应用代码;
生成模块305,用于根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码。
可选的,所述判断模块302还可以具体用于:
读取所述用户应用代码对应的目标维度Git远程仓库,并基于所述目标维度Git远程仓库确定对应的目标应用;
判断所述目标应用是否为待上线应用;
若所述目标应用为待上线应用,则判定所述用户应用代码为待审核代码。
可选的,所述审核模块303包括:
读取单元3031,若所述用户应用代码为待审核代码,则用于读取所述用户应用代码对应的用户名称;
审核单元3032,用于调用第一服务器基于所述用户名称和交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
可选的,所述审核单元3032还可以具体用于:
基于交叉审核策略获取代码审核指令;
解析所述代码审核指令,至少得到邮件审核指令、信息格式审核指令和分支权限审核指令;
按照所述邮件审核指令、所述信息格式审核指令和所述分支权限审核指令对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
可选的,所述生成模块305包括:
第一处理单元3051,当根据所述审核后的应用代码生成目标应用代码时,用于对所述审核后的应用代码进行处理,生成处理后的应用代码;
同步单元3052,用于对所述处理后的应用代码进行多机房代码同步,在第二服务器中生成目标应用代码;
第二处理单元3053,当根据所述待处理的应用代码生成目标应用代码时,用于对所述待处理的应用代码进行代码检测和多机房同步,在第二服务器生成目标应用代码。
可选的,所述第一处理单元3051还可以用于:
当根据所述审核后的应用代码生成目标应用代码时,调用钩子检查函数对所述审核后的应用代码进行代码检测,生成检测后的应用代码;
对所述检测后的应用代码进行代码测试,生成处理后的应用代码。
可选的,代码的处理装置还包括:
存储模块306,用于调用预置的钩子函数,从所述目标应用代码中提取分支信息和推送时刻,并存储所述分支信息和所述推送时刻。
本发明实施例中,调用第一服务器基于交叉审核策略对需要审核的用户应用代码进行操作指令级别的审核,从而在第二服务器生成目标应用代码;调用第一服务器对代码进行操作指令级别的审核,提高了提交代码的安全性和稳定性。
上面图3和图4从模块化功能实体的角度对本发明实施例中的代码的处理装置进行详细描述,下面从硬件处理的角度对本发明实施例中代码的处理设备进行详细描述。
图5是本发明实施例提供的一种代码的处理设备的结构示意图,该代码的处理设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对代码的处理设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在代码的处理设备500上执行存储介质530中的一系列指令操作。
代码的处理设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的代码的处理设备结构并不构成对代码的处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种代码的处理设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述代码的处理方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述代码的处理方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种代码的处理方法,其特征在于,所述代码的处理方法包括:
获取用户应用代码,所述用户应用代码为应用程序代码;
判断所述用户应用代码是否为待审核代码;
若所述用户应用代码为待审核代码,则调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;
若所述用户应用代码不为待审核代码,则将所述用户应用代码提交至第二服务器,生成待处理的应用代码;
根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码;
所述若所述用户应用代码为待审核代码,则调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码包括:
若所述用户应用代码为待审核代码,则读取所述用户应用代码对应的用户名称;
调用第一服务器基于所述用户名称和交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;
所述调用第一服务器基于所述用户名称和交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码包括:
基于交叉审核策略获取代码审核指令;
解析所述代码审核指令,至少得到邮件审核指令、信息格式审核指令和分支权限审核指令;
按照所述邮件审核指令、所述信息格式审核指令和所述分支权限审核指令对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
2.根据权利要求1所述的代码的处理方法,其特征在于,所述判断所述用户应用代码是否为待审核代码包括:
读取所述用户应用代码对应的目标维度Git远程仓库,并基于所述目标维度Git远程仓库确定对应的目标应用;
判断所述目标应用是否为待上线应用;
若所述目标应用为待上线应用,则判定所述用户应用代码为待审核代码。
3.根据权利要求1所述的代码的处理方法,其特征在于,所述根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码包括:
当根据所述审核后的应用代码生成目标应用代码时,对所述审核后的应用代码进行处理,生成处理后的应用代码;
对所述处理后的应用代码进行多机房代码同步,在第二服务器中生成目标应用代码;
当根据所述待处理的应用代码生成目标应用代码时,对所述待处理的应用代码进行代码检测和多机房同步,在第二服务器生成目标应用代码。
4.根据权利要求3所述的代码的处理方法,其特征在于,所述当根据所述审核后的应用代码生成目标应用代码时,对所述审核后的应用代码进行处理,生成处理后的应用代码包括:
当根据所述审核后的应用代码生成目标应用代码时,调用钩子检查函数对所述审核后的应用代码进行代码检测,生成检测后的应用代码;
对所述检测后的应用代码进行代码测试,生成处理后的应用代码。
5.根据权利要求1-3中任一项所述的代码的处理方法,其特征在于,在所述根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码之后,所述代码的处理方法还包括:
调用预置的钩子函数,从所述目标应用代码中提取分支信息和推送时刻,并存储所述分支信息和所述推送时刻。
6.一种代码的处理装置,其特征在于,所述代码的处理装置包括:
获取模块,用于获取用户应用代码,所述用户应用代码为应用程序代码;
判断模块,用于判断所述用户应用代码是否为待审核代码;
审核模块,若所述用户应用代码为待审核代码,则用于调用第一服务器基于交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;
提交模块,若所述用户应用代码不为待审核代码,则用于将所述用户应用代码提交至第二服务器,生成待处理的应用代码;
生成模块,用于根据所述审核后的应用代码或者所述待处理的应用代码,在第二服务器生成目标应用代码;
所述审核模块包括:
读取单元,若所述用户应用代码为待审核代码,则用于读取所述用户应用代码对应的用户名称;
审核单元,用于调用第一服务器基于所述用户名称和交叉审核策略对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码;
所述审核单元具体用于:
基于交叉审核策略获取代码审核指令;
解析所述代码审核指令,至少得到邮件审核指令、信息格式审核指令和分支权限审核指令;
按照所述邮件审核指令、所述信息格式审核指令和所述分支权限审核指令对所述用户应用代码进行操作指令级别的审核,生成审核后的应用代码。
7.根据权利要求6所述的代码的处理装置,其特征在于,所述判断模块具体用于:
读取所述用户应用代码对应的目标维度Git远程仓库,并基于所述目标维度Git远程仓库确定对应的目标应用;
判断所述目标应用是否为待上线应用;
若所述目标应用为待上线应用,则判定所述用户应用代码为待审核代码。
8.根据权利要求6所述的代码的处理装置,其特征在于,所述生成模块包括:
第一处理单元,当根据所述审核后的应用代码生成目标应用代码时,用于对所述审核后的应用代码进行处理,生成处理后的应用代码;
同步单元,用于对所述处理后的应用代码进行多机房代码同步,在第二服务器中生成目标应用代码;
第二处理单元,当根据所述待处理的应用代码生成目标应用代码时,用于对所述待处理的应用代码进行代码检测和多机房同步,在第二服务器生成目标应用代码。
9.一种代码的处理设备,其特征在于,所述代码的处理设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述代码的处理设备执行如权利要求1-5中任意一项所述的代码的处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-5中任一项所述代码的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110873632.9A CN113553060B (zh) | 2021-07-30 | 2021-07-30 | 代码的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110873632.9A CN113553060B (zh) | 2021-07-30 | 2021-07-30 | 代码的处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113553060A CN113553060A (zh) | 2021-10-26 |
CN113553060B true CN113553060B (zh) | 2023-10-20 |
Family
ID=78133402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110873632.9A Active CN113553060B (zh) | 2021-07-30 | 2021-07-30 | 代码的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553060B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019200701A1 (zh) * | 2018-04-17 | 2019-10-24 | 平安科技(深圳)有限公司 | 一种配置管理方法、装置、终端设备及存储介质 |
CN111367530A (zh) * | 2020-03-05 | 2020-07-03 | 中国工商银行股份有限公司 | 基于自定义审核规则的代码审核方法、终端及服务器 |
CN112817843A (zh) * | 2021-01-25 | 2021-05-18 | 上海哔哩哔哩科技有限公司 | 项目管理方法和系统 |
-
2021
- 2021-07-30 CN CN202110873632.9A patent/CN113553060B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019200701A1 (zh) * | 2018-04-17 | 2019-10-24 | 平安科技(深圳)有限公司 | 一种配置管理方法、装置、终端设备及存储介质 |
CN111367530A (zh) * | 2020-03-05 | 2020-07-03 | 中国工商银行股份有限公司 | 基于自定义审核规则的代码审核方法、终端及服务器 |
CN112817843A (zh) * | 2021-01-25 | 2021-05-18 | 上海哔哩哔哩科技有限公司 | 项目管理方法和系统 |
Non-Patent Citations (2)
Title |
---|
Siemens.N4-000210 "Key exchange and distribution for MAP security".3GPP tsg_cn\WG4_protocollars.2000,(tsgN4_02_Rotenburg),全文. * |
一种企业代码成果管控系统的设计研究;夏维嘉;江涛;董志刚;李海;薛亮;张媛;;中国管理信息化(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113553060A (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8234283B2 (en) | Search reporting apparatus, method and system | |
JP6301256B2 (ja) | 処理方法、コンピュータプログラム及びメタデータサポートサーバ | |
EP3895049A1 (en) | Utilizing independently stored validation keys to enable auditing of instrument measurement data maintained in a blockchain | |
CN112860741A (zh) | 数据的抽样检测方法、装置、设备及存储介质 | |
CN108075888B (zh) | 动态url生成方法及装置、存储介质、电子设备 | |
CN108650289B (zh) | 一种基于区块链的管理数据的方法和装置 | |
CN112685771A (zh) | 日志脱敏方法、装置、设备及存储介质 | |
CN108563952A (zh) | 文件的病毒检测方法、装置及存储介质 | |
EP1959372A1 (en) | Distance-preserving anonymization of data | |
CN112702228B (zh) | 服务限流响应方法、装置、电子设备及可读存储介质 | |
CN111367531B (zh) | 代码处理方法及装置 | |
CN112329043A (zh) | 信息加密处理方法、装置、计算机设备及介质 | |
CN113938408B (zh) | 一种数据流量测试方法、装置、服务器及存储介质 | |
CN114172663A (zh) | 基于区块链的业务确权方法及装置、存储介质和电子设备 | |
CN113553060B (zh) | 代码的处理方法、装置、设备及存储介质 | |
CN113434254A (zh) | 客户端部署方法、装置、计算机设备及存储介质 | |
CN111045935B (zh) | 版本自动审核方法、装置、设备及存储介质 | |
CN110738184B (zh) | 纸质凭证的预警信息生成方法及装置 | |
CN110309063A (zh) | 一种基于云计算的软件测试环境动态生成系统及其实现方法 | |
CN113839956A (zh) | 数据安全评估方法、装置、设备及存储介质 | |
CN113420046A (zh) | 非关系型数据库的数据操作方法、装置、设备及存储介质 | |
CN111190824B (zh) | 监测方法、装置、终端设备及存储介质 | |
CN114723394A (zh) | 基于人工智能的授信流程配置方法及相关设备 | |
Lee et al. | Consortium blockchain based forgery android APK discrimination DApp using hyperledger composer | |
CN114547590A (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 |