CN115421770A - 资源信息的处理方法及装置、存储介质、电子设备 - Google Patents

资源信息的处理方法及装置、存储介质、电子设备 Download PDF

Info

Publication number
CN115421770A
CN115421770A CN202211013844.0A CN202211013844A CN115421770A CN 115421770 A CN115421770 A CN 115421770A CN 202211013844 A CN202211013844 A CN 202211013844A CN 115421770 A CN115421770 A CN 115421770A
Authority
CN
China
Prior art keywords
resource information
processed
engine
difference comparison
resource
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
Application number
CN202211013844.0A
Other languages
English (en)
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202211013844.0A priority Critical patent/CN115421770A/zh
Publication of CN115421770A publication Critical patent/CN115421770A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开是关于一种资源信息的处理方法及装置、存储介质、电子设备,涉及虚幻引擎的资源处理技术领域,该方法包括:获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源;根据所述资源类型为所述待处理资源信息分配差异性比对工具;基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。本公开实现了对虚幻引擎本身的源代码文件进行差异性比对。

Description

资源信息的处理方法及装置、存储介质、电子设备
技术领域
本公开实施例涉及虚幻引擎的资源处理技术领域,具体而言,涉及一种资源信息的处理方法、资源信息的处理装置、计算机可读存储介质以及电子设备。
背景技术
现有的资源信息的处理方法中,无法实现对虚幻引擎本身的源代码文件进行差异性比对。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种资源信息的处理方法、资源信息的处理装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的无法对虚幻引擎本身的源代码文件进行差异性比对的问题。
根据本公开的一个方面,提供一种资源信息的处理方法,包括:
获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源;
根据所述资源类型为所述待处理资源信息分配差异性比对工具;
基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。
在本公开的一种示例性实施例中,获取待处理资源信息,包括:
通过源码控制***中包括应用程序编程接口监测作用于预设触发器的操作事件,并在监测到作用于所述预设触发器的触发事件时,获取与该触发事件对应的待处理资源信息;
其中,所述待处理资源信息中包括所述待处理资源信息的当前版本号、生产所述待处理资源信息的生产者、所述待处理资源信息的提交时间、与所述待处理资源信息对应的当前日志信息、当前分支信息、当前操作类型信息以及当前修改文件列表中的多种。
在本公开的一种示例性实施例中,根据所述资源类型为所述待处理资源信息分配差异性比对工具,包括:
当所述资源类型为引擎明文源码时,为所述待处理资源信息分配第一差异性比对工具;其中,所述第一差异性比对工具包括依赖于源码控制***实现的适用于明文源码的差异性比对工具和/或适用于明文源码的第三方差异性比对工具;
当所述资源类型为引擎二进制资源时,为所述待处理资源信息分配第二差异性比对工具;其中,所述第二差异性比对工具包括依赖于虚幻引擎实现的差异性比对工具。
在本公开的一种示例性实施例中,当所述资源类型为引擎明文源码时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,包括:
根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;
基于所述差异性比对工具对所述待处理资源信息以及历史资源信息进行差异性比对,得到差异性比对结果。
在本公开的一种示例性实施例中,基于所述差异性比对工具对所述待处理资源信息以及历史资源信息进行差异性比对,得到差异性比对结果,包括:
根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;
在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;
若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;
若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则将所述待解析提交条目传入虚幻引擎服务器,并在所述虚幻引擎服务器内基于依赖于源码控制***实现的适用于明文源码的差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
在本公开的一种示例性实施例中,所述资源信息的处理方法还包括:
若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本不一致,则利用所述当前编辑器对所述待处理资源信息以及历史资源信息进行文件状态同步,直至编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致。
在本公开的一种示例性实施例中,所述资源信息的处理方法还包括:
若待处理资源信息以及历史资源信息非基于虚幻引擎生成的文件,则利用适用于明文源码的第三方差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
在本公开的一种示例性实施例中,当所述资源类型为引擎二进制资源时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,包括:
根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;
根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;
在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;
若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;
若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则在所述虚幻引擎服务器内基于依赖于所述虚幻引擎实现的差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
在本公开的一种示例性实施例中,当所述资源类型为引擎二进制资源时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,还包括:
根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;
根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;
在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;
若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;
若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则基于预设的资源加载工具将所述待解析提交条目载入所述虚幻引擎的内存,并对所述待解析提交条目进行差异性比对得到差异性比对结果。
在本公开的一种示例性实施例中,所述资源信息的处理方法还包括:
通过所述虚幻引擎中包括的图形界面和/或依赖于源码控制***实现的展示工具,对所述差异性比对结果进行展示。
在本公开的一种示例性实施例中,所述资源信息的处理方法还包括:
将所述差异性比对结果以及待处理资源信息存储至预设的数据库中;
其中,所述差异性比对结果包括差异性所处的具***置,以及与所述差异性所处的具***置对应的上下文。
在本公开的一种示例性实施例中,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中,包括:
基于虚幻引擎原生封装的超文本传输协议模块,建立所述虚幻引擎与所述预设的数据库之间的通信链路;
基于所述通信链路,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中。
在本公开的一种示例性实施例中,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中,包括:
将所述待处理资源信息存储至所述预设的数据库中的提交信息数据库中,并将所述差异性比对结果存储至所述预设的数据库中的差异性比对数据库中。
在本公开的一种示例性实施例中,基于虚幻引擎原生封装的超文本传输协议模块,建立所述虚幻引擎与所述预设的数据库之间的通信链路,包括:
通过虚幻引擎原生封装的超文本传输协议模块创建所述虚幻引擎所需要的通信数据协议结构体,并对所述通信数据协议进行序列化处理,得到通信数据协议字符流;
根据所述通信数据协议字符流生成超文本传输协议请求,并基于超文本传输协议接口将所述超文本传输协议请求发送至所述预设的数据库;
接收所述预设的数据库反馈的与所述超文本传输协议请求关联的响应信息,建立所述虚幻引擎与所述预设的数据库之间的通信链路。
在本公开的一种示例性实施例中,所述资源信息的处理方法还包括:
基于虚幻引擎中包括的虚幻示意图形界面设计器,创建与所述差异性比对结果对应的交互界面;其中,所述交互界面包括搜索功能区域以及搜索结果展示区域;
响应于作用于所述搜索功能区域中的查询交互控件的操作事件,生成比对结果查询请求,并将所述结果查询请求发送至预设的数据库;
接收所述预设的数据库响应于所述比对结果查询请求对差异性比对结果进行查询后返回的查询结果,并在所述搜索结果展示区域对所述查询结果进行展示。
在本公开的一种示例性实施例中,响应于作用于所述搜索功能区域中的查询交互控件的操作事件,生成比对结果查询请求,包括:
响应于作用于所述搜索通能区域中设置的查询条件的输入事件,获取查询所述差异性比对结果所需要的查询参数;
响应于作用于所述搜索功能区域中的查询交互控件的操作事件,根据所述查询参数生成比对结果查询请求。
在本公开的一种示例性实施例中,所述资源信息的处理方法还包括:
响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的跳转控件的操作事件,跳转到与所述查询结果对应的文件名所在的文件夹;和/或
响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的修改控件的操作事件,对与所述查询结果对应的图标类型进行修改;和/或
响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的修改控件的操作事件,对与所述查询结果对应的文件名进行修改;和/或
响应于作用于与所述搜索结果展示区域所展示的任一查询结果的操作事件,展示与所述查询结果对应的文件名所具有的差异性比对结果。
在本公开的一种示例性实施例中,所述资源信息的处理方法还包括:
响应于作用于所述与搜索结果展示区域所展示的任一查询结果对应的日志文件的操作事件,将所述日志文件的显示方式由第一显示方式转换成第二显示方式。
在本公开的一种示例性实施例中,所述搜索结果展示区域中包括用于对查询结果进行监控追踪的确认控件。
在本公开的一种示例性实施例中,所述资源信息的处理方法还包括:
响应作用于所述确认控件的操作事件,生成与所述确认控件对应的差异性比对结果对应的标记指令,并将所述标记指令发送至所述的预设的数据库,以在所述预设的数据库中根据该标记指令对该差异性比对结果进行确认标记。
根据本公开的一个方面,提供一种资源信息的处理装置,包括:
资源类型确定模块,用于获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源;
差异性比对工具分配模块,用于根据所述资源类型为所述待处理资源信息分配差异性比对工具;
差异性比对模块,用于基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的资源信息的处理。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的资源信息的处理方法。
本公开实施例提供的一种资源信息的处理方法,一方面,获取待处理资源信息,并确定待处理资源信息的资源类型;然后根据资源类型为待处理资源信息分配差异性比对工具;最后基于差异性比对工具对待处理资源信息进行差异性比对,得到差异性比对结果,实现了对引擎明文源码以及引擎二进制资源的差异性比对,解决了现有技术中无法对虚幻引擎本身的源代码文件进行差异性比对的问题;另一方面,由于可以根据资源类型为待处理资源信息分配差异性比对工具;再基于差异性比对工具对待处理资源信息进行差异性比对,得到差异性比对结果,实现了对资源信息的分类比对,进而提高了差异性比对结果的准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出一种资源版本选择的界面图。
图2示意性示出一种Diff详情图形界面展示的示例图。
图3示意性示出一种贴图资源的Diff结果展示的示例图。
图4示意性示出一种比对方法的流程图。
图5示意性示出根据本公开示例实施例的一种资源信息的处理方法的流程图。
图6示意性示出根据本公开示例实施例的一种引擎明文源码的比对方法的流程图。
图7示意性示出根据本公开示例实施例的一种引擎二进制资源的比对场景的示例图。
图8示意性示出根据本公开示例实施例的一种待处理资源信息以及差异性比对结果的存储场景的示例图。
图9示意性示出根据本公开示例实施例的一种虚幻引擎的HTTP通信模块的通信原理流程图。
图10示意性示出根据本公开示例实施例的一种差异性比对结果的搜索方法的示例图。
图11示意性示出根据本公开示例实施例的一种对差异性比对结果进行查询的交互界面的示例图。
图12示意性示出根据本公开示例实施例的一种与交互界面对应的设计概要图。
图13示意性示出根据本公开示例实施例的一种封装的日历和嵌套的多功能下拉列表控件展示图。
图14示意性示出根据本公开示例实施例的一种差异性比对结果的具体展示界面的示例图。
图15示意性示出根据本公开示例实施例的一种资源信息的处理装置的框图。
图16示意性示出根据本公开示例实施例的一种用于实现上述资源信息的处理方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
商业引擎UE4(虚幻引擎)以其开发功能强大、画面表现优秀著称;但是,因其商业引擎资源加密的特性,使得UE4本身在协同工作方面有先天劣势。譬如,虽然UE4在引擎编辑器中提供了对常用协作工具(的支持,但从使用效率和工作习惯的层面上来讲,还是存在诸多问题。
在实际开发工作中,开发人员会频繁修改UE4的资源文件,同时也会改动到UE4本身的引擎代码源文件。这些修改通常会直接或间接影响到开发内容的稳定性,一旦发生错误会对日常开发进度带来不利影响,甚至降低产品的功能和品质。并且,在大型项目的开发中,项目周期长、职能类型多、团队规模大,进而会导致日常开发过程中会产生大量繁杂的修改操作,这些操作本身是伴随一定风险的,且修改操作越多,风险越大,对团队的开发协作带来了巨大的挑战。如果管理不善,会直接引发团队开发进度缓慢、人员协作矛盾激化、成本损耗增加等各种问题。
虚幻引擎本身是支持源码控制的且其可以支持版本管理库,以此来解决协同开发的问题,但它对各类资源文件的修改差异化对比和监控工作做的并不到位,存在无法自动化、操作体验差、工作效率低的问题。同时,当下虚幻引擎在国内市场迅速普及,开发团队的良好协作是提升生产力的一大要素,而资源差异化的管理对团队协作影响深远,做好资源差异化的管理是十分重要的。
在一些方案中,虚幻引擎支持编辑器内对某些资源进行Diff操作,主要分为两种类型。一种是:图形界面Diff;图形界面Diff主要处理UE开发过程中常用的蓝图资源,可在连接任意SCCS的情况下,查看蓝图资源的任意两个版本间的Diff结果;具体使用步骤如下:首先,打开资源版本历史,并选择任意两个版本(具体可以参考图1所示),进而执行Diff操作并得到相应的Diff结果(具体可以参考图2所示);另一种是,第三方工具Diff;第三方工具Diff主要处理非蓝图资源,因为这些资源类型多样,数据结构复杂多变,不可通过单一的图形界面进行展示,因此UE支持一些第三方Diff工具,允许通过外部调用的方式,对内存中的资源部分数据进行Diff。具体的使用步骤如下:打开资源版本历史,并选择任意两个版本,进而执行Diff操作并得到相应的Diff结果(具体可以参考图3所示)。
基于上述记载的内容可以得知,上述两种类型的实现技术,可以简单用图4进行概括。具体的,参考图4所示,具体的比对流程可以包括以下步骤:
步骤S401,获取UE资源文件,并在引擎运行时载入内存;
步骤S402,获取当前SCCS库以及历史版本列表,找到指定两个版本的实例对象副本;
步骤S403,判断是否为蓝图资源;若是,跳转至步骤S404,若否,跳转至步骤S406;
步骤S404,载入内存对数据做Diff,并绘制图像界面;
步骤S405,将Diff结果展示在界面的对应位置上;
步骤S406,载入内存按资源类型区分处理,序列化用户需要Diff的数据或信息;
步骤S407,调用第三方Diff工具对序列化信息进行Diff,并将Diff结果以文本的形式进行展示。
但是,上述方案存在如下缺点:一方面,以单个资源文件为操作对象,与实际工作中大批量资源提交习惯不符;同时,需手动查找资源文件并通过多步操作才能得到结果,工作效率低;另一方面,缺少SCCS相关提交信息,无法满足其它工作需求,且图形界面展示的Diff资源类型有限,文本结果并不清晰;再一方面,无法实现对引擎本身源代码文件的Diff操作,且仅可以供本地用户查看Diff结果,无任何附加价值,对产品质量保证无太大影响;进一步的,缺少实用的辅助功能,用户使用体验差,整体效率低,且无法实现对资源Diff的自动化监控。
基于此,本示例实施方式中首先提供了一种资源信息的处理方法,该方法可以运行于虚幻引擎,也可以运行于服务器、服务器集群或云服务器等;当然,本领域技术人员也可以根据需求在其他平台运行本公开的方法,本示例性实施例中对此不做特殊限定。具体的,参考图5所示,该资源信息的处理方法可以包括以下步骤:
步骤S510,获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源;
步骤S520,根据所述资源类型为所述待处理资源信息分配差异性比对工具;
步骤S530,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。
上述资源信息的处理方法中,一方面,获取待处理资源信息,并确定待处理资源信息的资源类型;然后根据资源类型为待处理资源信息分配差异性比对工具;最后基于差异性比对工具对待处理资源信息进行差异性比对,得到差异性比对结果,实现了对引擎明文源码以及引擎二进制资源的差异性比对,解决了现有技术中无法对虚幻引擎本身的源代码文件进行差异性比对的问题;另一方面,由于可以根据资源类型为待处理资源信息分配差异性比对工具;再基于差异性比对工具对待处理资源信息进行差异性比对,得到差异性比对结果,实现了对资源信息的分类比对,进而提高了差异性比对结果的准确率。
以下,将结合附图对本公开示例实施例资源信息的处理方法进行详细的解释以及说明。
首先,对本公开示例实施例所涉及到的名词进行解释以及说明。
虚幻4引擎(Unreal Engine 4,UE4):一款由Epic Games公司开发的开源、商业收费、学习免费的游戏引擎;目前,虚幻引擎已是第4代且该引擎本身功能十分强大,可以用于制作主机游戏。
UE资源文件(UAsset):是UE自带的资源文件格式,以二进制形式存储所有类型的资源,UE资源文件只有UE本身可以解析。
虚幻示意图形界面设计器(Unreal Motion Graphics UI Designer,UMG):是一个可视化的UI(User Interface,用户界面)创作工具,可以用来创建UI元素,便于直接在UE编辑器内进行界面开发,相比纯代码开发更有效率。
差异文件(Difference File,Diff):一种可执行的工具程序,用来对比两个文件之间的不同,并将不同的信息记录并显示出来,从而产生的文件就是Diff文件。
源码控制***(Source Code Control System,SCCS):指代一套管控各种不同版本源代码的***方案,方便软件的开发和用户协同工作。
Subversion(SVN):开放源代码的版本控制***,通过采用分支管理***的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源和集中式的管理。
Perforce(P4):一款非常好用的版本管理工具,具有轻便快速特点,支持GUI(Graphical User Interface,图像用户接口)界面、命令行等多种使用方式。
其次,对本公开所要解决的技术问题以及发明目的进行解释以及说明。具体的,本公开示例实施例所提供的资源信息的处理方法,一方面,可以外部捕捉SCCS信息,并和引擎远程通信,以供引擎内部使用;同时,还可以汇总SCCS信息,并在图形界面上统一展示,以供用户使用;另一方面,可以对引擎源代码文件做Diff,并传入引擎内展示;同时,还可以扩展引擎内可图形展示的Diff资源类型;再一方面,可以根据日常提交工作***台,实现Diff的自动化监控。
在具体的应用过程中,引擎外部捕获开发人员(Developers)在SCCS上提交的修改信息(Engine Source和/或Project Assets);同时,对于修改信息中的修改引擎源码(Engine Source),可以由任意Diff工具(By Any Tools)在外部直接做Diff(MakeDifference),将结果(Diff Info)和相关信息(Submit Info)存入数据库(SaveDataBase);对于修改信息中的修改二进制资源(Project Assets):通过引擎原生方法(ByUnreal Engine)做Diff(Make Difference),将结果(Diff Info)和相关信息(SubmitInfo)存入数据库(Save DataBase);进一步的,可以通过Remote Http方式将需要的数据远程传输给引擎编辑器,同时还可以在引擎编辑器(Unreal Engine Editor Interface)内通过交互界面呈现信息,并提供各种辅助功能给用户使用。
在本公开示例实施例所提供的一种资源信息的处理方法中:
在步骤S510中,获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源。
在本示例实施例中,首先,获取待处理资源信息。具体的,待处理资源信息的获取,具体可以通过如下方式实现:通过源码控制***中包括应用程序编程接口监测作用于预设触发器的操作事件,并在监测到作用于所述预设触发器的触发事件时,获取与该触发事件对应的待处理资源信息;其中,所述待处理资源信息中包括所述待处理资源信息的当前版本号、生产所述待处理资源信息的生产者、所述待处理资源信息的提交时间、与所述待处理资源信息对应的当前日志信息、当前分支信息、当前操作类型信息以及当前修改文件列表中的多种。
具体的,在实际应用过程中,获取待处理资源信息(也可以被称为是SCCS信息捕获)实现的核心是:通过SCCS工具本身提供的API(Application Program Interface,应用程序编程接口)获取Trigger(触发器)被触发的操作事件,进而在监测到作用于该触发器的操作事件时,获取与该操作事件对应的待处理资源信息。也即,在用户(Developers)有任何提交操作(Commit)生效后,即可从服务器中提取需要的待处理资源信息,甚至实现某些前置功能;通常,所获取到的待处理资源可以包括版本号、提交人、时间、日志、分支、操作类型、修改文件列表等各种实用信息。其中,此处所记载的分支,是指源码所具有的副本个数。
在一种示例实施例中,可以以两种主流的Source Control工具为例,了解信息捕获的技术实现。工具一:Subvision;在具体的应用过程中,Subvision可以通过post-commit来实现待处理资源信息的获取,并且,常规的Svn是提交后即可触发Trigger,进而得到待处理资源信息;工具二:Perfoce;在具体的应用过程中,Perfoce可以通过如下两种方式来实现待处理资源信息的获取:方式一,change-commit,Perforce的提交后触发功能,与Svn的提交后类似;方式二,change-content,Perforce特有机制,用户提交后,信息上传到Perforce服务器,但还没写到数据库期间触发,这些提交称为待审批提交,可以通过查看该信息完成一些检查、限制、报警前置功能。
进一步的,当获取到待处理资源信息以后,即可确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源。其中,引擎明文源码可以包括C++、header、xml、py等各种源码会用到的明文文件;引擎二进制资源可以包括数据表(DataTable)、曲线表(CurveTable)、行为树(BehaviorTree)、蓝图(Blueprint)、控件蓝图(WidgetBlueprint)、编辑器控件蓝图(EditorUtilityWidgetBlueprint)以及动画蓝图(AnimBlueprint)等等。
在步骤S520中,根据所述资源类型为所述待处理资源信息分配差异性比对工具。
在本示例实施例中,根据资源类型为待处理资源信息分配差异性比对工具,可以通过如下方式实现:当所述资源类型为引擎明文源码时,为所述待处理资源信息分配第一差异性比对工具;其中,所述第一差异性比对工具包括依赖于源码控制***实现的适用于明文源码的差异性比对工具和/或适用于明文源码的第三方差异性比对工具;当所述资源类型为引擎二进制资源时,为所述待处理资源信息分配第二差异性比对工具;其中,所述第二差异性比对工具包括依赖于虚幻引擎实现的差异性比对工具。
此处需要补充说明的是,第三方差异性比对工具,例如可以包括Diff命令(例如Colordiff命令或者wdiff命令)、vimdiff命令以及Kompare、DiffMerge等等,本示例对此不做特殊限制;依赖于源码控制***实现的适用于明文源码的差异性比对工具,可以是任意SCCS附带的工具,例如UAssetToolsImpl::DiffAssets,本示例对此不做特殊限制;依赖于虚幻引擎实现的差异性比对工具,例如可以包括UAssetToolsImpl::DiffAssets等等,本示例对此不做特殊限制。
在步骤S530中,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。
在本示例实施例中,基于差异性比对工具对待处理资源信息进行差异性比对,得到差异性比对结果,具体可以通过如下几种方式实现:
方式一:当所述资源类型为引擎明文源码时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,可以通过如下方式实现:首先,根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;其次,基于所述差异性比对工具对所述待处理资源信息以及历史资源信息进行差异性比对,得到差异性比对结果。
其中,基于所述差异性比对工具对所述待处理资源信息以及历史资源信息进行差异性比对,得到差异性比对结果,可以通过如下方式实现:首先,根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;其次,在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;然后,若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;最后,若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则将所述待解析提交条目传入虚幻引擎服务器,并在所述虚幻引擎服务器内基于依赖于源码控制***实现的适用于明文源码的差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
在一种示例实施例中,若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本不一致,则利用所述当前编辑器对所述待处理资源信息以及历史资源信息进行文件状态同步,直至编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致。
在一种示例实施例中,若待处理资源信息以及历史资源信息非基于虚幻引擎生成的文件,则利用适用于明文源码的第三方差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
以下,将结合图6对方式一的具体实现过程进行解释以及说明。具体的,参考图6所示,对引擎明文源码的差异性比对,可以包括以下步骤:
步骤S601,传入待解析提交条目,并判断UE编辑器是否可用;若UE编辑器可用,则跳转至步骤S602;若UE编辑器不可用,则跳转至步骤S608;
步骤S602,判断待解析版本与编辑器版本是否一致;若一致,则跳转至步骤S604;若不一致,则跳转至步骤S603;
步骤S603,UE编辑器文件状态同步;
步骤S604,判断是否为UE文件;若是,则跳转至步骤S605;若否,则跳转至步骤S607;
步骤S605,传入UE服务器进行解析得到Diff文件,并存储;
步骤S606,文本Diff生成Diff文件并存储;
步骤S607,不解析,直接存储。
此处需要补充说明的是,Diff生成工具可以任意SCCS附带的工具或其它第三方Diff工具均可,注意是明文可用;在判断UE编辑器是否可用的过程中,若UE编辑器不可用,即为引擎源码或外部明文文件,这些是不需要通过引擎解析的,可直接生成Diff后存入数据库;否则需在编辑器内解析;在判断待解析资源是否与引擎版本一致的过程中,因为某些资源本身的数据结构是和引擎源码息息相关的,不同版本可能会出现数据无法正确解析的问题,从而导致引擎内生成Diff错误;因此,需要通过UE编辑执行文件状态同步操作。
方式二:当所述资源类型为引擎二进制资源时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,可以通过如下方式实现:首先,根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;其次,根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;然后,在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;进一步的,若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;最后,若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则在所述虚幻引擎服务器内基于依赖于所述虚幻引擎实现的差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
方式三:当所述资源类型为引擎二进制资源时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,还可以通过如下方式实现:首先,根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;其次,根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;然后,在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;进一步的,若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;最后,若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则基于预设的资源加载工具将所述待解析提交条目载入所述虚幻引擎的内存,并对所述待解析提交条目进行差异性比对得到差异性比对结果。
在一种示例实施例中,当得到差异性比对结果以后,还可以通过所述虚幻引擎中包括的图形界面和/或依赖于源码控制***实现的展示工具,对所述差异性比对结果进行展示。
以下,将结合图7对方式二以及方式三的具体实现过程中进行解释以及说明。具体的,方式二以及方式三的获取流程与方式一相同,区别在于这里的数据并非明文,不能直接通过Diff工具生产,而是需要在虚幻引擎内处理。因此,可以通过如下两种方式实现:一种是,通过引擎内的UAssetToolsImpl::DiffAssets方法,可以直接在引擎内实现各类资源的Diff生成,此方法是引擎原生功能,通过图形界面或支持的SCCS工具来展示Diff结果。其原理结构可以参考图7所示,展示了对几种的不同的引擎二进制资源分别进行Diff处理。另一种是,在引擎内,通过LoadAssets等方法将二进制资源载入内存,然后再内存中直接对需要的资源数据对象进行Diff处理,处理方法灵活多样,可先转存为明文数据后参考方式一的方式进行处理,也可直接做进行对比,再讲Diff结果转存为明文输出。
在一种示例实施例中,当得到差异性比对结果以后,该资源信息的处理方法还包括:将所述差异性比对结果以及待处理资源信息存储至预设的数据库中;其中,所述差异性比对结果包括差异性所处的具***置,以及与所述差异性所处的具***置对应的上下文。
在一种示例实施例中,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中,可以通过如下方式实现:基于虚幻引擎原生封装的超文本传输协议模块,建立所述虚幻引擎与所述预设的数据库之间的通信链路;基于所述通信链路,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中。
在一种示例实施例中,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中,可以通过如下方式实现:将所述待处理资源信息存储至所述预设的数据库中的提交信息数据库中,并将所述差异性比对结果存储至所述预设的数据库中的差异性比对数据库中。
以下,结合图8对差异性比对结果的存储情况进行解释以及说明。具体的,差异性比对结果(也可以被称为Diff数据或Diff文件或Diff结果)在存储的过程中,需要存储的信息包括上中提取到的各种提交修改信息(也即待处理资源信息)以及差异性比对结果,也即Diff结果;其中,Diff结果可以任意格式进行存储,比如文本、JSON、数据块、内嵌数据表等,也可以通过其他格式进行存储,本示例对此不做特殊限制;此外,还需要存储与Diff结果相关一定范围内的上下文,这个是为了方便用户识别Diff内容,优化体验。进一步的,差异性比对结果(Diff数据)可能会很复杂,可以根据不同明文文件类型的不同,设计不同的存储方案;具体的,对待处理资源信息以及差异性比对结果进行存储可使用任意数据库,参考图8所示,具体的存储情况可以如下:Commit数据库(提交信息数据库),其可以以提交版本号为单位,存储提交信息,提交信息可以包括Svn提交条目、Perforce提交条目、dPerforce提交条目;差异性比对数据库(也即Diff表)可以用于对差异性比对结果进行存储,该差异性比对结果可以包括文本Diff、蓝图Diff以及UE表格Diff等等。
此处需要补充说明的是,在该预设的数据库中,还可以包括DataTable表,其可以用于存储每个UE4表格的所有版本的内容,方便在进行跨多版本对比时,无需传入到UE编辑器中重新解析,进而提高比对效率;Status表,其可以用于记录Diff生成端是否处于空闲状态的标记位以及UE编辑器是否需要重启的状态标记位;Editor_version表,其可以用于记录用户注册的所有分支的UE编辑器的当前版本号,方便解析Diff时进行文件状态同步;Cache_changelist表,其可以用于记录每个分支编辑器对应的版本号以及已同步了多少版本的文件状态,已同步过的不再重复处理,直到编辑器重启并更改版本号。
以下,结合图9对如何建立虚幻引擎与预设的数据库之间的通信链路进行解释以及说明。具体的,在一种示例实施例中,基于虚幻引擎原生封装的超文本传输协议模块,建立所述虚幻引擎与所述预设的数据库之间的通信链路,可以通过如下方式实现:首先,通过虚幻引擎原生封装的超文本传输协议模块创建所述虚幻引擎所需要的通信数据协议结构体,并对所述通信数据协议进行序列化处理,得到通信数据协议字符流;其次,根据所述通信数据协议字符流生成超文本传输协议请求,并基于超文本传输协议接口将所述超文本传输协议请求发送至所述预设的数据库;最后,接收所述预设的数据库反馈的与所述超文本传输协议请求关联的响应信息,建立所述虚幻引擎与所述预设的数据库之间的通信链路。
具体的,在本公开示例实施例所记载的资源信息的处理方法中,虚幻引擎后台和外部服务器(例如前述记载的预设的数据库,也可以是其他服务器,本示例对此不做特殊限制)需要进行一定的远程数据通信,从而实现引擎源码文件、提交修改信息等和数据库的交互功能。远程通信的实现可以通过两种方式来实现;一种是,通过虚幻引擎提供的原生插件Remote Control API HTTP Reference来实现,该方式适合被动通信,即可以将虚幻引擎端作为服务器,通过虚幻引擎端监听外部远程请求,并且返回数据给外部;另一种是,通过虚幻引擎原生封装的HTTP通信模块完成,这种方式适合主动通信,即引擎端为客户端,向外部远程服务器发送请求,接收外部服务器返回的数据,具体实现原理如下:首先,通过二次封装实现通信模块,方便后续实现其它数据通信功能接口;其次,自定义数据协议,采用数据结构实现,用到的协议摘选列出如下:FSearchDiffStruct:请求获取某二进制资源的相关信息,包括各种组合搜索条件;FSearchInfoFile:返回符合条件的二进制资源文件提交修改信息;FSearchInfoRet:返回符合条件的二进制资源文件Diff信息;FGetDiffInfoStruct:请求获取引擎源码等明文文件的Diff信息,包括各种组合搜索条件;FTextDiffInfo:返回符合条件的明文文件提交修改信息;FTextDiffResult:返回符合条件的明文文件Diff信息;FGetPersonStruct:请求获取相关用户列表信息;FPersonListStruct:返回符合条件的用户列表结果;FBrancheStruct:请求获取分支相关信息;FBrancheListStruct:返回符合条件的分支相关信息。此处需要补充说明的是,上述列举的功能协议以及协议详细内容仅起到示例性作用,其它功能协议和协议详细内容不再逐一列出,在实际应用过程中可根据实际需要自行定义,本示例对此不做特殊限制。
进一步的,参考图9所示,该HTTP(Hyper Text Transfer Protocol,超文本传输协议)通信模块具体的通信过程可以包括以下步骤:
步骤S901,自定义通信数据协议结构体,并对通信数据协议结构体进行序列化处理,得到通信数据协议字符流;其中,协议序列化处理,是指将通信数据协议结构体Struct序列化为Json格式的字符流,其具体的实现过程可以通过接口FJsonObjectConverter::UstructToJsonObjectString来进行实现;
步骤S902,加载HTTP通信模块(FhttpModule),并创建远程请求对象(CreateRequest);
步骤S903,设置HTTP请求对象相关信息;其中,相关信息可以包括URL(UniformResource Locator,统一资源定位符)、协议头、协议数据格式、协议内容以及通信方式等等;
步骤S904,绑定监听回调接口(BindRow);其中,该回调接口是在原产服务器返回数据时,触发回调;
步骤S905,触发HTTP通信进程(ProcessRequest);
步骤S906,接收远程返回数据(GetContentAsString);
步骤S907,反序列化字符流转换为协议格式,并提取有用数据进行相关处理;其中,协议反序列化,是指将远程返回数据中的Json格式的字符流反序列化为Struct结构体;在具体的应用过程中,可以通过接口FJsonObjectConverter::JsonObjectStringToUStruct来实现。
此处需要补充说明的是,外部远端服务器使用Python开发,使用常规的HTTP通信接口即可。通过图9所记载的方法,可以避免现有技术中由于差异性比对结果仅可以供本地用户查看,无任何附加价值对产品质量保证无太大影响的问题。
图10示意性示出根据本公开示例实施例的一种差异性比对结果的搜索方法的示例图。具体的,参考图10所示,可以包括以下步骤:
步骤S1010,基于虚幻引擎中包括的虚幻示意图形界面设计器,创建与所述差异性比对结果对应的交互界面;其中,所述交互界面包括搜索功能区域以及搜索结果展示区域。
具体的,本公开示例实施例可以使用虚幻引擎UMG(Unreal Motion Graphics UIDesigner技术来完成编辑期内的交互界面开发,开发完成的交互界面具体可以如图11所示;并且,在图11所示出的交互界面中,该交互界面的实现主要是封装了几个必需的前端控件,并且对应实现后台逻辑,最后与上下文提到的协议、辅助接口和数据存储联调完成对应的功能即可,整体的设计概要图示可以如图12所示;在一些示例实施例中,封装的日历和嵌套的多功能下拉列表控件展示可以如图13所示。
步骤S1020,响应于作用于所述搜索功能区域中的查询交互控件的操作事件,生成比对结果查询请求,并将所述结果查询请求发送至预设的数据库。
具体的,首先,响应于作用于所述搜索功能区域中的查询交互控件的操作事件,生成比对结果查询请求。其中,具体的实现过程可以如下所示:首先,响应于作用于所述搜索通能区域中设置的查询条件的输入事件,获取查询所述差异性比对结果所需要的查询参数;其次,响应于作用于所述搜索功能区域中的查询交互控件的操作事件,根据所述查询参数生成比对结果查询请求。进一步的,当得到该比对结果查询请求以后,即可将该比对结果查询请求发送至预设的数据库进行数据查询(搜索);其中,比对结果查询请求的具体发送方式,可以通过前述所记载的HTTP通信模块来实现,此处不再进行进一步的赘述。
步骤S1030,接收所述预设的数据库响应于所述比对结果查询请求对差异性比对结果进行查询后返回的查询结果,并在所述搜索结果展示区域对所述查询结果进行展示。其中,所展示的查询结果也可以如图11所示。
在一些示例实施例中,当得到查询结果以后,还可以进行如下的交互操作:一方面,响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的跳转控件的操作事件,跳转到与所述查询结果对应的文件名所在的文件夹;另一方面,响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的修改控件的操作事件,对与所述查询结果对应的图标类型进行修改;再一方面,响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的修改控件的操作事件,对与所述查询结果对应的文件名进行修改;进一步的,响应于作用于与所述搜索结果展示区域所展示的任一查询结果的操作事件,展示与所述查询结果对应的文件名所具有的差异性比对结果;其中,该差异性比对结果的具体展示界面可以参考图14所示。
在一些示例实施例中,当得到查询结果以后,还可以进行如下的交互操作:响应于作用于所述与搜索结果展示区域所展示的任一查询结果对应的日志文件的操作事件,将所述日志文件的显示方式由第一显示方式转换成第二显示方式。
在一些示例实施例中,所述搜索结果展示区域中包括用于对查询结果进行监控追踪的确认控件。其中,还可以根据该确认控件实现如下交互操作:响应作用于所述确认控件的操作事件,生成与所述确认控件对应的差异性比对结果对应的标记指令,并将所述标记指令发送至所述的预设的数据库,以在所述预设的数据库中根据该标记指令对该差异性比对结果进行确认标记。
也即,在具体实现过程中,虚幻引擎后台实用辅助功能实现;同时,通过引入若干辅助功能,从而提升用户体验、提高工作效率、加强监控安全保障。以下简要介绍几个实用辅助功能的实现:
一种是,搜索功能:在搜索功能区设定各种搜索条件,并在SCCS库中过滤筛选出符合条件的修改提交记录展示给用户,方便用户提取自己需要的信息,用于定位、追溯、归责、监控等各种工作需求,提升工作效率。通过填充搜索协议,并远程传输给服务器后台,在数据库中查找并返回结果,即可实现此功能。需要注意的是,后台查找算法和大数据回传在前端显示的算法相关优化,避免因数据量大或数据丢失等异常导致的功能错误或异常问题等;
另一种是,本地快捷跳转:点击“放大镜”图标即可在编辑期内浏览窗口(ContentBrowser)中快速定位到对应的资源文件(源码不支持),方便用户直接浏览对应文件的细节内容。通过SyncBrowserToObjects方法即可实现此功能。
再有一种是,打开URL:点击“提交日志”即可打开外部URL,跳转到工作平台,打开工作任务单查看详细的开发需求、测试要点等内容,方便用户和提交内容做关联,判断修改的正确性;具体的,该功能的具体实现过程可以通过FPlatformProcess::LaunchURL方法即可实现。
还有一种是,修改Diff确认:通过数据库增加确认标记来实现,人工审核过的修改无误后,点击“确认”按钮后,会在数据库记录确认标记,标明本条修改无误。通过确认协议远程传输数据给服务器后台,并写入数据库即可实现此功能。
至此,已经完成了本公开示例实施例所记载的资源信息的处理方法的所有的实现过程。基于前述记载的内容可以得知,本公开示例实施例所记载的资源信息的处理方法,至少具有如下优势:
一方面,通过简化操作并关联SCCS信息,进而提升用户工作质量。具体的,基于前述记载的内容可以得知,本公开示例实施例所记载的资源信息的处理方法,可以通过一键处理的方式即可快速查看各种资源文件的Diff内容,并且将各种修改提交操作和具体的SCCS信息关联在一起,并由交互界面统一展示,用户可在界面上直观的获取需要的信息,从而帮助用户进行决策,提升用户的工作体验、效率和质量。
另一方面,扩展Diff类型了,展示结果更清晰直观。具体的,基于前述记载的内容可以得知,本公开示例实施例所记载的资源信息的处理方法,扩展了虚幻引擎编辑器内可查看的Diff数据类型,不仅包含二进制资源的Diff展示,同时也可以直接查看引擎源码等明文文件的Diff数据,并且优化了Diff展示界面,给用户更清晰直观的使用体验,进一步提升工作效率。
再一方面,支持本地查看多个分支Diff。具体的,基于前述记载的内容可以得知,本公开示例实施例所记载的资源信息的处理方法,实现了远程查看多个不同引擎分支的文件Diff功能,包括监控不同分支上的提交修改信息,更贴合项目实际开发需要,使得用户可以在自己本地随时查看各种远端分支工程的修改信息,极大的提升了用户工作效率,也更好的监控各分支开发情况,提升项目的质量保障。
进一步的,多个实用辅助功能,强化效果。具体的,基于前述记载的内容可以得知,本公开示例实施例所记载的资源信息的处理方法,为用户提供了多个实用的辅助功能,如搜索、跳转、外链、监控确认等功能,方便用户在本地编辑器上快捷的进行各种操作,进一步提升工作效率,强化本发明的功能和效果。
更进一步的,支持自动化,降低工作成本。具体的,基于前述记载的内容可以得知,本公开示例实施例所记载的资源信息的处理方法,填补了虚幻引擎无法自动化监控资源变更信息的空白,支持用户自定义的自动化监控需求,如基于提交信息限制不规范的修改、对重要文件的修改内容做自动化检查、自动发现高危修改并报警等自动化功能。在有了上文的技术基础之上,用户可以很轻松的实现各种自定义的自动化监控功能,从而进一步降低实际的工作成本。
本公开示例实施例还提供了一种资源信息的处理装置。具体的,参考图15所示,该资源信息的处理装置可以包括资源类型确定模块1510、差异性比对工具分配模块1520以及差异性比对模块1530。其中:
资源类型确定模块1510,可以用于获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源;
差异性比对工具分配模块1520,可以用于根据所述资源类型为所述待处理资源信息分配差异性比对工具;
差异性比对模块1530,可以用于基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。
在本公开的一种示例性实施例中,资源类型确定模块1510还可以被配置为:通过源码控制***中包括应用程序编程接口监测作用于预设触发器的操作事件,并在监测到作用于所述预设触发器的触发事件时,获取与该触发事件对应的待处理资源信息;其中,所述待处理资源信息中包括所述待处理资源信息的当前版本号、生产所述待处理资源信息的生产者、所述待处理资源信息的提交时间、与所述待处理资源信息对应的当前日志信息、当前分支信息、当前操作类型信息以及当前修改文件列表中的多种。
在本公开的一种示例性实施例中,差异性比对工具分配模块1520还可以被配置为:当所述资源类型为引擎明文源码时,为所述待处理资源信息分配第一差异性比对工具;其中,所述第一差异性比对工具包括依赖于源码控制***实现的适用于明文源码的差异性比对工具和/或适用于明文源码的第三方差异性比对工具;当所述资源类型为引擎二进制资源时,为所述待处理资源信息分配第二差异性比对工具;其中,所述第二差异性比对工具包括依赖于虚幻引擎实现的差异性比对工具。
在本公开的一种示例性实施例中,当所述资源类型为引擎明文源码时,所述差异性比对模块1530还可以被配置为:根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;基于所述差异性比对工具对所述待处理资源信息以及历史资源信息进行差异性比对,得到差异性比对结果。
在本公开的一种示例性实施例中,所述差异性比对模块1530还可以被配置为:根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则将所述待解析提交条目传入虚幻引擎服务器,并在所述虚幻引擎服务器内基于依赖于源码控制***实现的适用于明文源码的差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
在本公开的一种示例性实施例中,所述差异性比对模块1530还可以被配置为:若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本不一致,则利用所述当前编辑器对所述待处理资源信息以及历史资源信息进行文件状态同步,直至编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致。
在本公开的一种示例性实施例中,所述差异性比对模块1530还可以被配置为:若待处理资源信息以及历史资源信息非基于虚幻引擎生成的文件,则利用适用于明文源码的第三方差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
在本公开的一种示例性实施例中,当所述资源类型为引擎二进制资源时,所述差异性比对模块1530还可以被配置为:根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则在所述虚幻引擎服务器内基于依赖于所述虚幻引擎实现的差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
在本公开的一种示例性实施例中,当所述资源类型为引擎二进制资源时,所述差异性比对模块1530还可以被配置为:根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则基于预设的资源加载工具将所述待解析提交条目载入所述虚幻引擎的内存,并对所述待解析提交条目进行差异性比对得到差异性比对结果。
在本公开的一种示例性实施例中,所述差异性比对模块1530还可以被配置为:通过所述虚幻引擎中包括的图形界面和/或依赖于源码控制***实现的展示工具,对所述差异性比对结果进行展示。
在本公开的一种示例性实施例中,所述资源信息的处理装置还可以包括:
差异性比对结果存储模块,可以用于将所述差异性比对结果以及待处理资源信息存储至预设的数据库中;其中,所述差异性比对结果包括差异性所处的具***置,以及与所述差异性所处的具***置对应的上下文。
在本公开的一种示例性实施例中,差异性比对结果存储模块还可以被配置为:基于虚幻引擎原生封装的超文本传输协议模块,建立所述虚幻引擎与所述预设的数据库之间的通信链路;基于所述通信链路,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中。
在本公开的一种示例性实施例中,差异性比对结果存储模块还可以被配置为:将所述待处理资源信息存储至所述预设的数据库中的提交信息数据库中,并将所述差异性比对结果存储至所述预设的数据库中的差异性比对数据库中。
在本公开的一种示例性实施例中,差异性比对结果存储模块还可以被配置为:通过虚幻引擎原生封装的超文本传输协议模块创建所述虚幻引擎所需要的通信数据协议结构体,并对所述通信数据协议进行序列化处理,得到通信数据协议字符流;根据所述通信数据协议字符流生成超文本传输协议请求,并基于超文本传输协议接口将所述超文本传输协议请求发送至所述预设的数据库;接收所述预设的数据库反馈的与所述超文本传输协议请求关联的响应信息,建立所述虚幻引擎与所述预设的数据库之间的通信链路。
在本公开的一种示例性实施例中,所述资源信息的处理装置还可以包括:
交互界面创建模块,可以用于基于虚幻引擎中包括的虚幻示意图形界面设计器,创建与所述差异性比对结果对应的交互界面;其中,所述交互界面包括搜索功能区域以及搜索结果展示区域;
比对结果查询请求生成模块,可以用于响应于作用于所述搜索功能区域中的查询交互控件的操作事件,生成比对结果查询请求,并将所述结果查询请求发送至预设的数据库;
查询结果展示模块,可以用于接收所述预设的数据库响应于所述比对结果查询请求对差异性比对结果进行查询后返回的查询结果,并在所述搜索结果展示区域对所述查询结果进行展示。
在本公开的一种示例性实施例中,比对结果查询请求生成模块还可以被配置为:响应于作用于所述搜索通能区域中设置的查询条件的输入事件,获取查询所述差异性比对结果所需要的查询参数;响应于作用于所述搜索功能区域中的查询交互控件的操作事件,根据所述查询参数生成比对结果查询请求。
在本公开的一种示例性实施例中,所述资源信息的处理装置还可以包括:
第一交互模块,可以用于响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的跳转控件的操作事件,跳转到与所述查询结果对应的文件名所在的文件夹;和/或
第二交互模块,可以用于响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的修改控件的操作事件,对与所述查询结果对应的图标类型进行修改;和/或
第三交互模块,可以用于响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的修改控件的操作事件,对与所述查询结果对应的文件名进行修改;和/或
第四交互模块,可以用于响应于作用于与所述搜索结果展示区域所展示的任一查询结果的操作事件,展示与所述查询结果对应的文件名所具有的差异性比对结果。
在本公开的一种示例性实施例中,所述资源信息的处理装置还可以包括:
第五交互模块,可以用于响应于作用于所述与搜索结果展示区域所展示的任一查询结果对应的日志文件的操作事件,将所述日志文件的显示方式由第一显示方式转换成第二显示方式。
在本公开的一种示例性实施例中,所述搜索结果展示区域中包括用于对查询结果进行监控追踪的确认控件。
在本公开的一种示例性实施例中,所述资源信息的处理装置还可以包括:
第六交互模块,可以用于响应作用于所述确认控件的操作事件,生成与所述确认控件对应的差异性比对结果对应的标记指令,并将所述标记指令发送至所述的预设的数据库,以在所述预设的数据库中根据该标记指令对该差异性比对结果进行确认标记。
上述资源信息的处理装置中各模块的具体细节已经在对应的资源信息的处理方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为***、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
下面参照图16来描述根据本公开的这种实施方式的电子设备1600。图16显示的电子设备1600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图16所示,电子设备1600以通用计算设备的形式表现。电子设备1600的组件可以包括但不限于:上述至少一个处理单元1610、上述至少一个存储单元1620、连接不同***组件(包括存储单元1620和处理单元1610)的总线1630以及显示单元1640。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1610执行,使得所述处理单元1610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1610可以执行如图5中所示的步骤S510:获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源;步骤S520,根据所述资源类型为所述待处理资源信息分配差异性比对工具;步骤S530:基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。
存储单元1620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)16201和/或高速缓存存储单元16202,还可以进一步包括只读存储单元(ROM)16203。
存储单元1620还可以包括具有一组(至少一个)程序模块16205的程序/实用工具16204,这样的程序模块16205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1600也可以与一个或多个外部设备1700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1600交互的设备通信,和/或与使得该电子设备1600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1650进行。并且,电子设备1600还可以通过网络适配器1660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1660通过总线1630与电子设备1600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

Claims (23)

1.一种资源信息的处理方法,其特征在于,包括:
获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源;
根据所述资源类型为所述待处理资源信息分配差异性比对工具;
基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。
2.根据权利要求1所述的资源信息的处理方法,其特征在于,获取待处理资源信息,包括:
通过源码控制***中包括应用程序编程接口监测作用于预设触发器的操作事件,并在监测到作用于所述预设触发器的触发事件时,获取与该触发事件对应的待处理资源信息;
其中,所述待处理资源信息中包括所述待处理资源信息的当前版本号、生产所述待处理资源信息的生产者、所述待处理资源信息的提交时间、与所述待处理资源信息对应的当前日志信息、当前分支信息、当前操作类型信息以及当前修改文件列表中的多种。
3.根据权利要求1所述的资源信息的处理方法,其特征在于,根据所述资源类型为所述待处理资源信息分配差异性比对工具,包括:
当所述资源类型为引擎明文源码时,为所述待处理资源信息分配第一差异性比对工具;其中,所述第一差异性比对工具包括依赖于源码控制***实现的适用于明文源码的差异性比对工具和/或适用于明文源码的第三方差异性比对工具;
当所述资源类型为引擎二进制资源时,为所述待处理资源信息分配第二差异性比对工具;其中,所述第二差异性比对工具包括依赖于虚幻引擎实现的差异性比对工具。
4.根据权利要求3所述的资源信息的处理方法,其特征在于,当所述资源类型为引擎明文源码时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,包括:
根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;
基于所述差异性比对工具对所述待处理资源信息以及历史资源信息进行差异性比对,得到差异性比对结果。
5.根据权利要求4所述的资源信息的处理方法,其特征在于,基于所述差异性比对工具对所述待处理资源信息以及历史资源信息进行差异性比对,得到差异性比对结果,包括:
根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;
在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;
若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;
若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则将所述待解析提交条目传入虚幻引擎服务器,并在所述虚幻引擎服务器内基于依赖于源码控制***实现的适用于明文源码的差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
6.根据权利要求5所述的资源信息的处理方法,其特征在于,所述资源信息的处理方法还包括:
若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本不一致,则利用所述当前编辑器对所述待处理资源信息以及历史资源信息进行文件状态同步,直至编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致。
7.根据权利要求5所述的资源信息的处理方法,其特征在于,所述资源信息的处理方法还包括:
若待处理资源信息以及历史资源信息非基于虚幻引擎生成的文件,则利用适用于明文源码的第三方差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
8.根据权利要求3所述的资源信息的处理方法,其特征在于,当所述资源类型为引擎二进制资源时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,包括:
根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;
根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;
在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;
若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;
若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则在所述虚幻引擎服务器内基于依赖于所述虚幻引擎实现的差异性比对工具,对所述待解析提交条目进行差异性比对得到差异性比对结果。
9.根据权利要求3所述的资源信息的处理方法,其特征在于,当所述资源类型为引擎二进制资源时,基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果,还包括:
根据所述待处理资源信息中包括的当前版本号获取与待处理资源信息对应的历史资源信息的历史版本号,并根据所述历史版本号获取所述历史资源信息;
根据所述待处理资源信息以及历史资源信息生成待解析提交条目,并判断虚幻引擎的编辑器是否可用;
在确定所述虚幻引擎的编辑器可用时,判断编辑所述待解析提交条目中包括的待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本是否一致;
若编辑待处理资源信息以及历史资源信息所使用的原始编辑器的版本与当前编辑器的版本一致,则判断所述待解析提交条目中包括的待处理资源信息以及历史资源信息是否为基于虚幻引擎生成的文件;
若待处理资源信息以及历史资源信息为基于虚幻引擎生成的文件,则基于预设的资源加载工具将所述待解析提交条目载入所述虚幻引擎的内存,并对所述待解析提交条目进行差异性比对得到差异性比对结果。
10.根据权利要去8或9所述的资源信息的处理方法,其特征在于,所述资源信息的处理方法还包括:
通过所述虚幻引擎中包括的图形界面和/或依赖于源码控制***实现的展示工具,对所述差异性比对结果进行展示。
11.根据权利要求1所述的资源信息的处理方法,其特征在于,所述资源信息的处理方法还包括:
将所述差异性比对结果以及待处理资源信息存储至预设的数据库中;
其中,所述差异性比对结果包括差异性所处的具***置,以及与所述差异性所处的具***置对应的上下文。
12.根据权利要求11所述的资源信息的处理方法,其特征在于,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中,包括:
基于虚幻引擎原生封装的超文本传输协议模块,建立所述虚幻引擎与所述预设的数据库之间的通信链路;
基于所述通信链路,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中。
13.根据权利要求12所述的资源信息的处理方法,其特征在于,将所述差异性比对结果以及待处理资源信息存储至预设的数据库中,包括:
将所述待处理资源信息存储至所述预设的数据库中的提交信息数据库中,并将所述差异性比对结果存储至所述预设的数据库中的差异性比对数据库中。
14.根据权利要求12所述的资源信息的处理方法,其特征在于,基于虚幻引擎原生封装的超文本传输协议模块,建立所述虚幻引擎与所述预设的数据库之间的通信链路,包括:
通过虚幻引擎原生封装的超文本传输协议模块创建所述虚幻引擎所需要的通信数据协议结构体,并对所述通信数据协议进行序列化处理,得到通信数据协议字符流;
根据所述通信数据协议字符流生成超文本传输协议请求,并基于超文本传输协议接口将所述超文本传输协议请求发送至所述预设的数据库;
接收所述预设的数据库反馈的与所述超文本传输协议请求关联的响应信息,建立所述虚幻引擎与所述预设的数据库之间的通信链路。
15.根据权利要求1所述的资源信息的处理方法,其特征在于,所述资源信息的处理方法还包括:
基于虚幻引擎中包括的虚幻示意图形界面设计器,创建与所述差异性比对结果对应的交互界面;其中,所述交互界面包括搜索功能区域以及搜索结果展示区域;
响应于作用于所述搜索功能区域中的查询交互控件的操作事件,生成比对结果查询请求,并将所述结果查询请求发送至预设的数据库;
接收所述预设的数据库响应于所述比对结果查询请求对差异性比对结果进行查询后返回的查询结果,并在所述搜索结果展示区域对所述查询结果进行展示。
16.根据权利要求15所述的资源信息的处理方法,其特征在于,响应于作用于所述搜索功能区域中的查询交互控件的操作事件,生成比对结果查询请求,包括:
响应于作用于所述搜索通能区域中设置的查询条件的输入事件,获取查询所述差异性比对结果所需要的查询参数;
响应于作用于所述搜索功能区域中的查询交互控件的操作事件,根据所述查询参数生成比对结果查询请求。
17.根据权利要求15所述的资源信息的处理方法,其特征在于,所述资源信息的处理方法还包括:
响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的跳转控件的操作事件,跳转到与所述查询结果对应的文件名所在的文件夹;和/或
响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的修改控件的操作事件,对与所述查询结果对应的图标类型进行修改;和/或
响应于作用于与所述搜索结果展示区域所展示的任一查询结果对应的修改控件的操作事件,对与所述查询结果对应的文件名进行修改;和/或
响应于作用于与所述搜索结果展示区域所展示的任一查询结果的操作事件,展示与所述查询结果对应的文件名所具有的差异性比对结果。
18.根据权利要求15所述的资源信息的处理方法,其特征在于,所述资源信息的处理方法还包括:
响应于作用于所述与搜索结果展示区域所展示的任一查询结果对应的日志文件的操作事件,将所述日志文件的显示方式由第一显示方式转换成第二显示方式。
19.根据权利要求15-18任一项所述的资源信息的处理方法,其特征在于,所述搜索结果展示区域中包括用于对查询结果进行监控追踪的确认控件。
20.根据权利要求19所述的资源信息的处理方法,其特征在于,所述资源信息的处理方法还包括:
响应作用于所述确认控件的操作事件,生成与所述确认控件对应的差异性比对结果对应的标记指令,并将所述标记指令发送至所述的预设的数据库,以在所述预设的数据库中根据该标记指令对该差异性比对结果进行确认标记。
21.一种资源信息的处理装置,其特征在于,包括:
资源类型确定模块,用于获取待处理资源信息,并确定所述待处理资源信息的资源类型;其中,所述资源类型包括引擎明文源码和/或引擎二进制资源;
差异性比对工具分配模块,用于根据所述资源类型为所述待处理资源信息分配差异性比对工具;
差异性比对模块,用于基于所述差异性比对工具对所述待处理资源信息进行差异性比对,得到差异性比对结果。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-20任一项所述的资源信息的处理。
23.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-20任一项所述的资源信息的处理方法。
CN202211013844.0A 2022-08-23 2022-08-23 资源信息的处理方法及装置、存储介质、电子设备 Pending CN115421770A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211013844.0A CN115421770A (zh) 2022-08-23 2022-08-23 资源信息的处理方法及装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211013844.0A CN115421770A (zh) 2022-08-23 2022-08-23 资源信息的处理方法及装置、存储介质、电子设备

Publications (1)

Publication Number Publication Date
CN115421770A true CN115421770A (zh) 2022-12-02

Family

ID=84197455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211013844.0A Pending CN115421770A (zh) 2022-08-23 2022-08-23 资源信息的处理方法及装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN115421770A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115826933A (zh) * 2023-02-14 2023-03-21 成都曾自科技有限公司 编辑器下加载使用Cook后资源的方法、装置及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115826933A (zh) * 2023-02-14 2023-03-21 成都曾自科技有限公司 编辑器下加载使用Cook后资源的方法、装置及存储介质
CN115826933B (zh) * 2023-02-14 2023-06-13 成都曾自科技有限公司 编辑器下加载使用Cook后资源的方法、装置及存储介质

Similar Documents

Publication Publication Date Title
US20210318866A1 (en) Auto-generation of api documentation via implementation-neutral analysis of api traffic
US11650910B2 (en) Automated testing method and apparatus, storage medium and electronic device
US11861334B2 (en) Providing communication between a client system and a process-based software application
US20210034336A1 (en) Executing a process-based software application in a first computing environment and a second computing environment
US7620885B2 (en) Automatic generation of documentation for component-based computing solution
US10282450B1 (en) Managing sharable cell-based analytical notebooks
US20210304142A1 (en) End-user feedback reporting framework for collaborative software development environments
CN110716853A (zh) 一种测试脚本录制方法、应用程序测试方法和相关装置
CN113900958A (zh) 测试用例脚本的生成方法、***、介质及电子设备
CN104572067A (zh) 用于由源代码指定的用户界面的可视化的方法和***
EP2909764B1 (en) Portal for submitting business metadata for services
CN115292073B (zh) 一种Linux平台上安卓应用文件的发送方法
US11741002B2 (en) Test automation systems and methods using logical identifiers
US20230221951A1 (en) Creation and execution of customised code for a data processing platform
US20050172264A1 (en) Architecture for converting control types in a data bound user interface
CN110688145A (zh) Android MVP代码自动生成方法、装置、介质、电子设备
JP2023107749A (ja) ブラウザベースのロボティックプロセスオートメーション(rpa)ロボット設計インターフェース
CN116893807A (zh) 使用浏览器设计机器人流程自动化机器人的***和方法
US10111064B2 (en) Automatic system and method for conversion of smart phone applications to basic phone applications
CN107391118B (zh) 一种Web应用用户体验平台***
CN115421770A (zh) 资源信息的处理方法及装置、存储介质、电子设备
CN113836014A (zh) 一种接口测试方法、装置、电子设备和存储介质
CN109634838A (zh) 定位应用程序故障的方法、装置、存储介质和电子设备
CN111061522A (zh) 基于后端生成前端卡片组件的方法、装置、设备及存储介质
CN113360232A (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