CN111596955B - 应用更改方法、应用运行方法、装置及系统 - Google Patents

应用更改方法、应用运行方法、装置及系统 Download PDF

Info

Publication number
CN111596955B
CN111596955B CN202010419202.5A CN202010419202A CN111596955B CN 111596955 B CN111596955 B CN 111596955B CN 202010419202 A CN202010419202 A CN 202010419202A CN 111596955 B CN111596955 B CN 111596955B
Authority
CN
China
Prior art keywords
application
file
changed
package
name
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
CN202010419202.5A
Other languages
English (en)
Other versions
CN111596955A (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.)
Shanghai United Imaging Healthcare Co Ltd
Original Assignee
Shanghai United Imaging Healthcare 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 Shanghai United Imaging Healthcare Co Ltd filed Critical Shanghai United Imaging Healthcare Co Ltd
Priority to CN202010419202.5A priority Critical patent/CN111596955B/zh
Publication of CN111596955A publication Critical patent/CN111596955A/zh
Application granted granted Critical
Publication of CN111596955B publication Critical patent/CN111596955B/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/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

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

Abstract

本发明实施例公开了一种应用更改方法、应用运行方法、装置及系统。该方法包括:在监测到更改应用的更改触发事件时,获取与更改触发事件对应的已更改文件,其中,已更改文件包括已更改配置文件和/或已更改代码文件;根据已更改文件生成已更改应用包;根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名。本发明实施例的技术方案,通过对根据已更改文件生成的已更改应用包的包名进行设置,实现了多版本应用并存的效果,由此,在应用更改过程中只需对与更改需求相关的应用文件进行更改,这可在避免引入新问题的同时,提高了应用更改过程的针对性、可控性和快速性,并降低了应用测试环节的工作量。

Description

应用更改方法、应用运行方法、装置及系统
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种应用更改方法、应用运行方法、装置及系统。
背景技术
在医疗软件系统中,应用开发者在用户使用某个发布的应用后,可根据接收到的用户提出的更改需求对该应用进行更改,并将更改后的新版本应用再次发布给用户使用。以某个可用于受检部位1和受检部位2检查的磁共振应用为例,用户对受检部位1的图像质量提出了更改需求,且对受检部位2的图像质量表示满意。此时,应用开发者可根据更改需求对该磁共振应用进行更改,由此得到的新版本应用包括与该磁共振应用相关的全部文件。
但是,这一更改过程很可能对受检部位2的图像质量也产生影响,也就是说,新版本应用可用于优化受检部位1的图像质量,但对受检部位2的图像质量是难以保证的。因此,在应用更改过程中,如何更加有针对性且可控性地满足用户提出的更改需求,且尽可能避免产生多余影响,这是亟待解决的问题。
发明内容
本发明实施例提供了一种应用更改方法、应用运行方法、装置及系统,解决了应用更改过程中针对性和可控性较弱的问题。
第一方面,本发明实施例提供了一种应用更改方法,应用于服务端,包括:
在监测到更改应用的更改触发事件时,获取与更改触发事件对应的已更改文件,其中,已更改文件包括已更改配置文件和/或已更改代码文件;
根据已更改文件生成已更改应用包;
根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名。
可选的,根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名,可以包括:
根据更改触发事件对应的版本信息,设置已更改应用包的包名;
获取已更改文件的文件名,并将包名添加到文件名中。
可选的,在获取与更改触发事件对应的已更改文件之前,还可以包括:
获取与更改触发事件对应的已更改公共组件和原始代码文件;
根据接收到的用户输入的作用于已更改公共组件的属性设置指令,将已更改公共组件设置为静态库工程,以使已更改公共组件中的代码在编译时合并到原始代码文件中,生成已更改代码文件。
第二方面,本发明实施例还提供了一种应用运行方法,应用于客户端,可包括:
在监测运行应用的运行触发事件时,获取与运行触发事件对应的受检部位的扫描协议,并判断扫描协议中是否存在已更改应用包的包名,其中,已更改应用包是由服务端根据已更改文件生成的,已更改应用包的包名和已更改文件的文件名是由服务端根据已更改应用包对应的版本信息设置的;
若是,则根据与包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件;
根据已更改文件和第一历史文件,运行应用。
可选的,上述应用运行方法,还可以包括:
若否,则根据扫描协议获取第二历史文件,并根据第二历史文件,运行应用。
可选的,已更改应用包的包名可以包括应用运行框架包名和应用本体包名,根据与已更改应用包的包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件,可以包括:
根据与应用运行框架包名对应的应用运行框架文件名获取已更改框架文件,并根据已更改框架文件和扫描协议获取第一历史框架文件;
根据与应用本体包名对应的应用本体文件名获取已更改本体文件,并根据已更改本体文件和扫描协议获取第一历史本体文件;
相应的,根据已更改文件和第一历史文件,运行应用,可以包括:
根据已更改框架文件、第一历史框架文件、已更改本体文件和第一历史本体文件,运行应用。
可选的,应用可以包括磁共振应用,扫描协议可以包括磁共振扫描参数。
第三方面,本发明实施例还提供了一种应该更改装置,配置于服务端,可包括:
已更改文件获取模块,用于在监测到更改应用的更改触发事件时,获取与更改触发事件对应的已更改文件,其中,已更改文件包括已更改配置文件和/或已更改代码文件;
已更改应用包生成模块,用于根据已更改文件生成已更改应用包;
名称设置模块,用于根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名。
第四方面,本发明实施例还提供了一种应该运行装置,配置于客户端,可包括:
包名判断模块,用于在监测运行应用的运行触发事件时,获取与运行触发事件对应的受检部位的扫描协议,并判断扫描协议中是否存在已更改应用包的包名,已更改应用包是经由应用更改装置根据已更改文件生成的,已更改应用包的包名和已更改文件的文件名是经由应用更改装置根据已更改应用包对应的版本信息设置的;
文件获取模块,用于若是,则根据与包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件;
应用运行模块,用于根据已更改文件和第一历史文件,运行应用。
第五方面,本发明实施例还提供了一种多版本应用并存系统,可以包括:服务端和客户端;
其中,服务端,用于在监测到更改应用的更改触发事件时,获取与更改触发事件对应的已更改文件,根据已更改文件生成已更改应用包,并根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名,其中,已更改文件包括已更改配置文件和/或已更改代码文件;
客户端,用于在监测运行应用的运行触发事件时,获取与运行触发事件对应的受检部位的扫描协议,并判断扫描协议中是否存在已更改应用包的包名,若是,则根据与包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件,根据已更改文件和第一历史文件,运行应用。
本发明实施例的技术方案,在监测到更改应用的更改触发事件时,服务端通过已获取的与更改触发事件对应的已更改文件,可以生成已更改应用包;进而,根据更改触发事件对应的版本信息,可以设置已更改应用包的包名并调整已更改文件的文件名,由此,因各个版本的应用包的包名互不相同,多版本应用包可以同时存在,这使得应用开发者在更改应用时,可以只针对更改需求对应的应用文件进行更改,而完全无需考虑那些与更改需求无关的应用文件。上述技术方案,通过对根据已更改文件生成的已更改应用包的包名进行设置,实现了多版本应用并存的效果,由此,在应用更改过程中只需对与更改需求相关的应用文件进行更改,解决了应用文件间的依懒性,避免引入新问题的同时,提高了应用更改过程的针对性、可控性和快速性,降低应用测试环节的工作量。
附图说明
图1是本发明实施例一中的一种应用更改方法的流程图;
图2是本发明实施例二中的一种应用运行方法的流程图;
图3是本发明实施例三中的一种应用更改装置的结构框图;
图4是本发明实施例四中的一种应用运行装置的结构框图;
图5是本发明实施例五中的一种多版本应用并存系统的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中提供的一种应用更改方法的流程图。本实施例可适用于对应用进行更改的情况,尤其适用于对应用中存在更改需求的部分进行更改的情况。该方法可以由本发明实施例提供的应用更改装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在服务端上,该服务端可以是应用开发者所在的电子设备,该电子设备可以是终端或是服务器。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、在监测到更改应用的更改触发事件时,获取与更改触发事件对应的已更改文件,其中,已更改文件包括已更改配置文件和/或已更改代码文件。
其中,更改触发事件可以是某个应用的应用文件更改时的触发事件,该应用文件可以是配置文件、代码文件、公共组件等,该代码文件中的源代码逻辑通常是由高级编程语言编写的,该配置文件中的配置数据可以经由代码文件中的代码逻辑读取,该配置数据可以是外界输入的或是预先设定的;更改触发事件还可以是某个应用的编译功能、运行功能或是发布功能触发时的触发事件,该编译功能可以将代码文件中的源代码逻辑由高级编程语言转化为机器语言,该运行功能可以将已编译且已调试的应用运行起来,该发布功能可以生成可供用户使用的更改后的新版本应用;等等,在此未做具体限定。
已更改文件可以是已更改的且已编译的应用文件,该已更改文件可以包括已更改配置文件和/或已更改代码文件,该已更改配置文件可以是已更改的且已编译的配置文件,该已更改代码文件可以是已更改且已编译的代码文件。由此,在监测到更改应用的更改触发事件时,可以获取到与该更改触发事件对应的已更改文件。当然,若此时未存在已更改文件,可以在预设时间间隔后或是在再次监测到更改触发事件时,再获取到该已更改文件,在此未做具体限定。
S120、根据已更改文件生成已更改应用包。
其中,应用在发布时通常是以应用包为单位进行发布的,该应用包中的应用文件可以是一个或是多个应用的应用文件。需要说明的是,本发明实施例所述的已更改应用包是根据已更改文件生成的,由此,已更改应用包中的已更改文件可以是一个或是多个应用的已更改的且已编译的应用文件,即该已更改应用包中未包括那些未更改的应用文件。即,已更改应用包中未包括某个应用的全部的应用文件,其中的已更改文件是与用户的更改需求紧密关联的应用文件。
示例性的,以磁共振扫描成像序列应用为例,磁共振图象是通过采用特定的成像序列扫描而获得的。扫描序列是指射频脉冲、梯度场和信号采集时刻等相关参数的设置及其在时序上的排列。MR成像主要依赖于四个因素:即质子密度、T1、T2、流空效应,应用不同的磁共振扫描序列可以得到反映这些因素不同侧重点的图像。磁共振扫描成像序列应用包括应用SE,应用gre和应用IR等。具体的,应用gre可对受检部位1和受检部位2进行检查,用户提出受检部位1的图像质量有待更改,且受检部位2的图像质量很好。此时,服务端可以接收到应用开发者作用于应用gre的更改操作,例如,若该更改操作是作用于应用gre的代码文件,且未作用于应用gre的配置文件,则应用gre的已更改文件包括已更改代码文件;再例如,若该更改操作是作用于应用gre的翻译配置文件,且未作用于应用gre的代码文件和除翻译配置文件以外的其余配置文件,则应用gre的更改文件包括已更改翻译配置文件。
S130、根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名。
其中,通常情况下,某个应用的原始应用包可以包括该应用的全部的应用文件,该原始应用包是该应用的初始版本的应用包,该原始应用包的包名通常为空,且该原始应用包中的每个原始应用文件的文件名通常未带有任何的版本信息,比如,原始配置文件的文件名可以是gre.config,原始代码文件的文件名可以是libUmrgre.so。由此,为了实现多版本应用并存的效果,可以根据更改触发事件对应的版本信息,设置已更改应用包的包名,例如,该包名可以是R1910、R1914等等。这样一来,每个版本的应用包的包名互不相同,通过包名即可对各个版本的应用包进行区分。
在此基础上,若将已更改应用包安装到客户端后,由于已更改应用包的包名和客户端中已安装的历史应用包的包名并不相同,则已更改应用包不会直接覆盖在历史应用包上,二者处于并存状态,这相当于在客户端上同时存在历史应用包和已更改应用包。由此,服务端在将已更改应用包发布给客户端后,客户端针对不同的受检部位可以基于不同版本的应用包运行应用,例如,继续以上述例子为例,在对受检部位1进行检查时,可以基于应用gre的已更改应用包运行应用;而在对受检部位2进行检查时,可以基于应用gre的历史应用包运行应用,受检部位1和受检部位2的图像质量均能满足用户的检查需求。由上可知,基于本发明实施例所述的应用更改方法对应用进行更改,可以更加有针对性地解决用户提出的更改需求,只是更改受检部位1的图像质量,避免对其余受检部位的图像质量产生影响。
进一步,在根据更改触发事件对应的版本信息设置已更改应用包的包名后,还可以根据更改触发事件对应的版本信息,调整已更改文件的文件名,以使已更改应用包的包名和其中的已更改文件的文件名间存在对应关系。这样一来,服务端在将已更改应用包发布给客户端后,客户端可以根据已更改应用包的包名搜索到相应的文件名,进而根据文件名搜索到相应的已更改文件。具体的,一种可选的技术方案,可以在已更改文件的文件名内直接添加包名以实现文件名的调整,例如,应用gre的已更改应用包的包名是R1910,则已更改应用包中的已更改代码文件的文件名可以由libUmrgre.so调整为libUmrgre-R1910.so,已更改配置文件的文件名可以由gre.config调整为gre-R1910.config。
本发明实施例的技术方案,在监测到更改应用的更改触发事件时,服务端通过已获取的与更改触发事件对应的已更改文件,可以生成已更改应用包;进而,根据更改触发事件对应的版本信息,可以设置已更改应用包的包名并调整已更改文件的文件名,由此,因各个版本的应用包的包名互不相同,多版本应用包可以同时存在,这使得应用开发者在更改应用时,可以只对与更改需求对应的应用文件进行更改,而完全无需考虑那些与更改需求无关的应用文件。上述技术方案,通过对根据已更改文件生成的已更改应用包的包名进行设置,实现了多版本应用并存的效果,由此,在应用更改过程中只需对与更改需求相关的应用文件进行更改,这可在避免引入新问题的同时,提高了应用更改过程的针对性、可控性和快速性,并降低了应用测试环节的工作量。
在应用更改过程中,可能存在如下情况,示例性的,应用gre可对受检部位1和受检部位2进行检查,应用fse可对受检部位3和受检部位4进行检查,且因应用gre和应用fse有很多公共的代码逻辑,这些公共的代码逻辑组成公共组件1,应用gre和应用fse都依赖公共组件1。此时,用户提出受检部位1的图像质量有待更改,且其余受检部位的图像质量很好。应用开发者根据用户提出的更改需求对应用gre进行更改,但是,这一更改过程涉及到公共组件1,则其有可能影响到受检部位3和受检部位4的图像质量,这会扩大影响范围且增加测试工作量,无法快速且可控地发布更改后的新版本应用。
为解决这一问题,且同时兼顾应用开发过程的便利性和代码共用性,一种可选的技术方案,在获取与更改触发事件对应的已更改文件之前,上述应用更改还可以包括:获取与更改触发事件对应的已更改公共组件和原始代码文件;在对已更改公共组件进行编译前,根据接收到的用户输入的作用于已更改公共组件的属性设置指令,将已更改公共组件设置为静态库工程,以使已更改公共组件中的代码逻辑在编译时合并到原始代码文件中,生成已更改代码文件。这是因为,具有静态库工程属性的公共组件只会在编译阶段存在,在应用编译后,公共组件的代码逻辑会直接合并到应用中,由此公共组件在运行阶段并不存在。这意味该公共组件可以同时存在多个版本,比如已更改公共组件和历史公共组件,每个应用都会与某个版本的公共组件相关联。
示例性的,继续以上述例子为例,对公共组件1进行更改得到已更改公共组件1,并将已更改公共组件1设置为静态库工程,则在编译阶段对应用gre进行编译时,已更改公共组件1中的代码逻辑直接合并到应用gre中,其不会对应用fse产生任何影响,因为应用fse中相应的代码逻辑是未更改的历史公共组件中的代码逻辑,并非是已更改公共组件中的代码逻辑。也就是说,虽然应用gre和应用fse共用公共组件1中的代码逻辑,但二者在运行时相互独立,由此解决了应用间的依赖性和关联性。
需要说明的是,上述静态库工程的设置方式是一种可选方案,为解决应用间相互影响这一问题,还有一种可选方案是,以上述应用gre为例,对公共组件1进行拷贝,并对拷贝得到的公共组件的组件名进行调整,如将公共组件1调整为公共组件2,并将应用gre与公共组件2相关联。此时,因应用fse仍是与公共组件1相关联的,由此在对应用gre进行更改时,未对应用fse产生影响。
实施例二
图2是本发明实施例二中提供的一种应用运行方法的流程图。本实施例可适用于对应用进行运行的情况,尤其适用于基于与检查需求对应的应用文件进行运行的情况。该方法可以由本发明实施例提供的应用运行装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在客户端上,该客户端可以是应用运行者所在的电子设备,该电子设备可以是终端或是服务器。
参见图2,本发明实施例的方法具体包括如下步骤:
S210、在监测运行应用的运行触发事件时,获取与运行触发事件对应的受检部位的扫描协议,并判断扫描协议中是否存在已更改应用包的包名,其中,已更改应用包是由服务端根据已更改文件生成的,已更改应用包的包名和已更改文件的文件名是由服务端根据已更改应用包对应的版本信息设置的。
其中,经由服务端生成的已更改应用包安装到客户端的过程,可以理解为将已更改应用包中的已更改文件拷贝到相应位置的过程。而且,因已更改应用包中也存在已更改扫描协议文件,因此,已更改应用包的安装过程也是已更改扫描协议的安装过程。上述已更改应用包和已更改文件的相关内容可以参见上述实施例,在此不再赘述。
在将已更改应用包安装到客户端后,客户端所在的电子设备的显示界面上,可显示出与已更改应用包对应的受检部位的至少一个应用,该应用可以是已更改应用和历史应用,该历史应用可以认为是以前安装的应用,由此,客户端可根据用户的选择运行相应的应用;或者,该应用也可以只是已更改应用,此时历史应用仍是存在的,只是在显示界面上删除了历史应用的接口;等等,在此未做具体限定。由此,运行触发事件可以是某个受检部位的某个应用选中时的触发事件,也可以是某个受检部位的某个扫描协议选中时的触发事件,等等,在此未做具体限定。可选的,上述应用可以是磁共振应用,相应的,上述扫描协议可以是磁共振扫描协议中的磁共振扫描参数。
在此基础上,在监测运行应用的运行触发事件时,可以获取到与该运行触发事件对应的受检部位的扫描协议,并判断该扫描协议中是否存在已更改应用包的包名,并根据判断结果加载相应的应用。因某个应用的原始应用包多是未设置包名的,因此扫描协议中的包名多是已更改应用包的包名。
S220、若是,则根据与包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件。
其中,若在扫描协议中存在已更改应用包的包名,则根据已更改应用包的包名和已更改文件的文件名间的对应关系,可以获取到相应的已更改文件。进一步,因已更改应用包中未包括该应用的全部的应用文件,由此根据扫描协议可获知该应用在运行时都需要哪些类型的应用文件,进而结合已更改文件获取那些需要的第一历史文件,该第一历史文件可以是该应用的原始应用包中的原始应用文件,也可以是该应用的已更改应用包和原始应用包间的某个版本应用包中的版本应用文件,在此未做具体限定。
示例性的,某客户端中的磁共振应用包括原始应用包、版本应用包和已更改应用包,版本应用包是对原始应用包中的代码文件进行更改后得到的,已更改应用包是对原始应用包或是版本应用包中的配置文件进行该更改后得到的。其中,原始应用包中存储有该磁共振应用的全部的原始应用文件,其包名为空且其中的每个原始应用文件的文件名未带有任何版本信息,如原始代码文件的文件名是libUmrgre.so,原始配置文件的文件名是gre.config。与此同时,版本应用包的包名是R1910,其中的版本代码文件的文件名是libUmrgre-R1910.so;已更改应用包的包名是R1914,其中的已更改配置文件的文件名是gre-R1914.config。此时,若从与运行触发事件对应的受检部位的扫描协议中获取到的包名是R1914,则可搜索到文件名是gre-R1914.config的已更改配置文件。进一步,若已更改应用包是对原始应用包进行更改后得到的(即已更改配置文件和原始代码文件相匹配),则获取到的第一历史文件是文件名为libUmrgre.so的原始代码文件;若已更改应用包是对版本应用包进行更改后得到的(即已更改配置文件和版本代码文件相匹配),则获取到的第一历史文件是文件名为libUmrgre-R1910.so的版本代码文件。在实际应用中,可预先设定第一历史文件来源于原始应用包,或是某个版本应用包,在此未做具体限定。
S230、根据已更改文件和第一历史文件,运行应用。
其中,在获取到已更改文件和第一历史文件后,应用运行时涉及到的全部的应用文件获取完毕,由此,可根据已获取到的应用文件运行应用。
在此基础上,可选的,若在扫描协议中未存在已更改应用包的包名,即扫描协议中的包名为空,这说明与该受检部位对应的应用数量是1个,则可根据扫描协议获取第二历史文件,并根据第二历史文件运行应用,该第二历史文件通常是原始应用包中的原始应用文件。
示例性的,某客户端中的磁共振应用包括用于检查受检部位1和受检部位2的应用gre,以及用于检查受检部位3和受检部位4的应用fse。应用gre包括原始应用包gre和已更改应用包gre,原始应用包gre的包名为空,且其包括文件名是libUmrgre.so的原始代码文件和文件名是gre.config的原始配置文件;已更改应用包gre的包名是R1910,且其包括文件名是libUmrgre-R1910.so的已更改代码文件,该已更改代码文件是对公共组件1进行更改后得到的。应用fse包括原始应用包fse。由此,在监测到受检部位1的运行触发事件时,因受检部位1的扫描参数中包名为R1910,则基于libUmrgre-R1910.so和gre.config运行应用;在监测到受检部位2的运行触发事件时,因受检部位2的扫描参数中包名为空,则基于libUmrgr.so和gre.config运行应用;在监测到受检部位3或受检部位4的运行触发事件时,因已更改公共组件1的代码逻辑在编译时未合并到应用fse中,则运行应用fse时不会受到R1910的影响,其是基于原始应用包fse中的应用文件运行的。
本发明实施例的技术方案,在监测运行应用的运行触发事件时,客户端通过获取与该运行触发事件对应的受检部位的扫描协议,并在扫描协议中存在已更改应用包的包名时,可根据与包名对应的文件名获取相应的已更改文件,并根据已更改文件和扫描协议获取第一历史文件,该第一历史文件是运行应用时必须涉及到的且已更改应用包以外的应用文件,进而可根据已更改文件和第一历史文件运行应用。上述技术方案,根据受检部位的扫描协议中的包名,可以从各版本的应用包中搜索到与该受检部位匹配的应用文件,该应用文件是满足用户需求的且可能来源于不同应用包的应用文件,由此,可根据该应用文件运行应用以实现对受检部位的满足用户需求的扫描。
一种可选的技术方案,上述已更改应用包的包名可以包括应用运行框架包名和应用本体包名,根据与已更改应用包的包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件,具体可以包括:根据与应用运行框架包名对应的应用运行框架文件名获取已更改框架文件,并根据已更改框架文件和扫描协议获取第一历史框架文件;根据与应用本体包名对应的应用本体文件名获取已更改本体文件,并根据已更改本体文件和扫描协议获取第一历史本体文件;相应的,根据已更改文件和第一历史文件,运行应用,具体可以包括:根据已更改框架文件、第一历史框架文件、已更改本体文件和第一历史本体文件,运行应用。其中,运行应用框架相当于一个存在特定接口且可实现特定功能的库,本发明实施例所述的应用可通过该特定接口运行起来。应用运行框架和应用本体(即,应用本身)是两个部分,这与应用架构设计有关。需要说明的是,无论是应用运行框架或是应用本体,其都需要执行类似的步骤以搜索到各自相应的已更改文件和第一历史文件;而且,两者的已更改文件可能存在差异,且两者的第一历史文件也可能存在差异,这是因为有些版本的应用文件是给应用运行框架使用的,而有些版本的应用文件是给应用本体使用的。
实施例三
图3为本发明实施例三提供的应用更改装置的结构框图,该装置用于执行上述任意实施例所提供的应用更改方法。该装置与上述各实施例的应用更改方法属于同一个发明构思,在应用更改装置的实施例中未详尽描述的细节内容,参考上述应用更改方法的实施例。参见图3,该装置具体可包括:已更改文件获取模块310、已更改应用包生成模块320和名称设置模块330。
其中,已更改文件获取模块310,用于在监测到更改应用的更改触发事件时,获取与更改触发事件对应的已更改文件,其中,已更改文件包括已更改配置文件和/或已更改代码文件;
已更改应用包生成模块320,用于根据已更改文件生成已更改应用包;
名称设置模块330,用于根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名。
可选的,名称设置模块330,具体可以包括:
包名设置单元,用于根据更改触发事件对应的版本信息,设置已更改应用包的包名;
文件名设置单元,用于获取已更改文件的文件名,将包名添加到文件名中。
可选的,在上述装置的基础上,该装置还可包括:
原始代码文件获取模块,用于获取与更改触发事件对应的已更改公共组件和原始代码文件;
属性设置模块,用于根据接收到的用户输入的作用于已更改公共组件的属性设置指令,将已更改公共组件设置为静态库工程,以使已更改公共组件中的代码在编译时合并到原始代码文件中,生成已更改代码文件。
本发明实施例三提供的应用更改装置,在监测到更改应用的更改触发事件时,配置于服务端的已更改文件获取模块和已更改应用包生成模块相互配合,通过已获取的与更改触发事件对应的已更改文件,生成已更改应用包;进而,名称设置模块可以根据更改触发事件对应的版本信息,可以设置已更改应用包的包名并调整已更改文件的文件名,由此,因各个版本的应用包的包名互不相同,多版本应用包可以同时存在,这使得应用开发者在更改应用时,可以只对与更改需求对应的应用文件进行更改,而完全无需考虑那些与更改需求无关的应用文件。上述装置,通过对根据已更改文件生成的已更改应用包的包名进行设置,实现了多版本应用并存的效果,由此,在应用更改过程中只需对与更改需求相关的应用文件进行更改,这可在避免引入新问题的同时,提高了应用更改过程的针对性、可控性和快速性,并降低了应用测试环节的工作量。
本发明实施例所提供的应用更改装置可执行本发明任意实施例所提供的应用更改方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述应用更改装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
图4为本发明实施例四提供的应用运行装置的结构框图,该装置用于执行上述任意实施例所提供的应用运行方法。该装置与上述各实施例的应用运行方法属于同一个发明构思,在应用运行装置的实施例中未详尽描述的细节内容,可以参考上述应用运行方法的实施例。参见图4,该装置具体可包括:包名判断模块410、文件获取模块420和应用运行模块430。
其中,包名判断模块410,用于在监测运行应用的运行触发事件时,获取与运行触发事件对应的受检部位的扫描协议,并判断扫描协议中是否存在已更改应用包的包名,其中,已更改应用包是经由应用更改装置根据已更改文件生成的,已更改应用包的包名和已更改文件的文件名是经由应用更改装置根据已更改应用包对应的版本信息设置的;
文件获取模块420,用于若是,则根据与包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件;
应用运行模块430,用于根据已更改文件和第一历史文件,运行应用。
可选的,在上述装置的基础上,该装置还可包括:
历史文件获取模块,用于若否,则根据扫描协议获取第二历史文件,并根据第二历史文件,运行应用。
可选的,文件获取模块420,具体可以包括:
历史框架文件获取单元,用于已更改应用包的包名包括应用运行框架包名和应用本体包名,根据与应用运行框架包名对应的应用运行框架文件名获取已更改框架文件,并根据已更改框架文件和扫描协议获取第一历史框架文件;
历史本体文件获取单元,用于根据与应用本体包名对应的应用本体文件名获取已更改本体文件,根据已更改本体文件和扫描协议获取第一历史本体文件;
相应的,应用运行模块430,具体可以用于:
根据已更改框架文件、第一历史框架文件、已更改本体文件和第一历史本体文件,运行应用。
可选的,应用可以包括磁共振应用,扫描协议可以包括磁共振扫描参数。
本发明实施例四提供的应用运行装置,在监测运行应用的运行触发事件时,配置于客户端中的包名判断模块和文件获取模块相互配合,通过获取与该运行触发事件对应的受检部位的扫描协议,并在扫描协议中存在已更改应用包的包名时,可根据与包名对应的文件名获取相应的已更改文件,并根据已更改文件和扫描协议获取第一历史文件,该第一历史文件是运行应用时必须涉及到的且已更改应用包以外的应用文件;进而,应用运行模块可根据已更改文件和第一历史文件运行应用。上述装置,根据受检部位的扫描协议中的包名,可以从各版本的应用包中搜索到与该受检部位匹配的应用文件,该应用文件是满足用户需求的且可能来源于不同应用包的应用文件,由此,可根据该应用文件运行应用以实现对受检部位的满足用户需求的扫描。
本发明实施例所提供的应用运行装置可执行本发明任意实施例所提供的应用运行方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述应用运行装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例五
图5为本发明实施例五中的一种多版本应用并存系统的结构框图,如图5所示,该系统可以包括服务端510和客户端520;
其中,服务端510,用于在监测到更改应用的更改触发事件时,获取与更改触发事件对应的已更改文件,根据已更改文件生成已更改应用包,并根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名,已更改文件包括已更改配置文件和/或已更改代码文件;
客户端520,用于在监测运行应用的运行触发事件时,获取与运行触发事件对应的受检部位的扫描协议,并判断扫描协议中是否存在已更改应用包的包名,若是,则根据与包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件,根据已更改文件和第一历史文件,运行应用。
即,服务端在生成已更改应用包后,可将已更改应用包发布给客户端;客户端在接收到该已更改应用包后,因已更改应用包的包名和已更改应用包中的已更改文件的文件名均带有版本信息,由此,当将已更改应用包安装在客户端时,已更改应用包的包名和客户端中已安装的历史应用包的包名互不相同,由此实现了多版本应用并存的效果,且在对受检部位进行检查时,可基于与受检部位对应的应用文件运行应用,该应用文件可来源于一个或多个应用包。
本发明实施例五提供的多版本应用并存系统,可执行本发明任意实施例所提供的应用更改方法或是应用运行方法,具备执行方法相应的功能模块和有益效果,具体内容可参见上述实施例,此处不再赘述。
实施例六
本发明实施例六提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用更改方法,该方法包括:
在监测到更改应用的更改触发事件时,获取与更改触发事件对应的已更改文件,其中,已更改文件包括已更改配置文件和/或已更改代码文件;
根据已更改文件生成已更改应用包;
根据更改触发事件对应的版本信息,设置已更改应用包的包名并调整已更改文件的文件名。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的目标更改方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例七
本发明实施例七提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用运行方法,该方法包括:
在监测运行应用的运行触发事件时,获取与运行触发事件对应的受检部位的扫描协议,并判断扫描协议中是否存在已更改应用包的包名,其中,已更改应用包是由服务端根据已更改文件生成的,已更改应用包的包名和已更改文件的文件名是由服务端根据已更改应用包对应的版本信息设置的;
若是,则根据与包名对应的文件名获取已更改文件,并根据已更改文件和扫描协议获取第一历史文件;
根据已更改文件和第一历史文件,运行应用。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用运行方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (6)

1.一种应用运行方法,其特征在于,应用于客户端,所述方法包括:
在监测运行应用的运行触发事件时,获取与所述运行触发事件对应的受检部位的扫描协议,并判断所述扫描协议中是否存在已更改应用包的包名,其中,所述已更改应用包是由服务端根据已更改文件生成的,所述已更改应用包的包名和所述已更改文件的文件名是由所述服务端根据所述已更改应用包对应的版本信息设置的;
若是,则根据与所述包名对应的所述文件名获取所述已更改文件,并根据所述已更改文件和所述扫描协议获取第一历史文件;
根据所述已更改文件和所述第一历史文件,运行应用。
2.根据权利要求1所述的方法,其特征在于,还包括:
若否,则根据所述扫描协议获取第二历史文件,并根据所述第二历史文件,运行所述应用。
3.根据权利要求1所述的方法,其特征在于,所述已更改应用包的包名包括应用运行框架包名和应用本体包名,所述根据与所述已更改应用包的包名对应的所述文件名获取所述已更改文件,并根据所述已更改文件和所述扫描协议获取第一历史文件,包括:
根据与所述应用运行框架包名对应的应用运行框架文件名获取已更改框架文件,并根据所述已更改框架文件和所述扫描协议获取第一历史框架文件;
根据与所述应用本体包名对应的应用本体文件名获取已更改本体文件,并根据所述已更改本体文件和所述扫描协议获取第一历史本体文件;
相应的,所述根据所述已更改文件和所述第一历史文件,运行应用,包括:
根据所述已更改框架文件、所述第一历史框架文件、所述已更改本体文件和所述第一历史本体文件,运行应用。
4.根据权利要求1-3任一所述的方法,其特征在于,所述应用包括磁共振应用,所述扫描协议包括磁共振扫描参数。
5.一种应用运行装置,其特征在于,配置于客户端,所述装置包括:
包名判断模块,用于在监测运行应用的运行触发事件时,获取与所述运行触发事件对应的受检部位的扫描协议,并判断所述扫描协议中是否存在已更改应用包的包名,其中,所述已更改应用包是经由应用更改装置根据已更改文件生成的,所述已更改应用包的包名和所述已更改文件的文件名是经由所述应用更改装置根据所述已更改应用包对应的版本信息设置的;
文件获取模块,用于若是,则根据与所述包名对应的所述文件名获取所述已更改文件,并根据所述已更改文件和所述扫描协议获取第一历史文件;
应用运行模块,用于根据所述已更改文件和所述第一历史文件,运行应用。
6.一种多版本应用并存系统,其特征在于,包括:服务端和客户端;
其中,所述服务端,用于在监测到更改应用的更改触发事件时,获取与所述更改触发事件对应的已更改文件,根据所述已更改文件生成已更改应用包,并根据所述更改触发事件对应的版本信息,设置所述已更改应用包的包名并调整所述已更改文件的文件名,其中,所述已更改文件包括已更改配置文件和/或已更改代码文件;
所述客户端,用于在监测运行应用的运行触发事件时,获取与所述运行触发事件对应的受检部位的扫描协议,并判断所述扫描协议中是否存在所述已更改应用包的包名,若是,则根据与所述包名对应的所述文件名获取所述已更改文件,并根据所述已更改文件和所述扫描协议获取第一历史文件,根据所述已更改文件和所述第一历史文件,运行应用。
CN202010419202.5A 2020-05-18 2020-05-18 应用更改方法、应用运行方法、装置及系统 Active CN111596955B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010419202.5A CN111596955B (zh) 2020-05-18 2020-05-18 应用更改方法、应用运行方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010419202.5A CN111596955B (zh) 2020-05-18 2020-05-18 应用更改方法、应用运行方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111596955A CN111596955A (zh) 2020-08-28
CN111596955B true CN111596955B (zh) 2023-07-14

Family

ID=72187333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010419202.5A Active CN111596955B (zh) 2020-05-18 2020-05-18 应用更改方法、应用运行方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111596955B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6394353B1 (en) * 1997-06-05 2002-05-28 Siemens Aktiengesellschaft Medical device with control arangement for a device component

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076064A1 (en) * 2003-10-01 2005-04-07 Ge Medical Systems Global Technology Company, Llc Mr application save and restore system
DE102006036584B4 (de) * 2006-08-04 2018-07-26 Siemens Healthcare Gmbh Verwalten von unterschiedlich versionierten Konfigurationsdateien einer medizinischen Einrichtung
US10067754B2 (en) * 2011-08-11 2018-09-04 International Business Machines Corporation Software service notifications based upon software usage, configuration, and deployment topology
CN102999365B (zh) * 2012-12-05 2016-08-03 深圳市理邦精密仪器股份有限公司 一种胎儿监护仪软件网络安全升级方法及系统
CN103885665B (zh) * 2012-12-20 2018-05-04 上海联影医疗科技有限公司 磁共振系统中的用户定制提示信息的系统和方法
CN103336703B (zh) * 2013-07-08 2018-09-18 惠州Tcl移动通信有限公司 生成升级包的方法、服务器、软件升级方法、移动终端
US9785429B2 (en) * 2015-02-27 2017-10-10 Lenovo (Singapore) Pte. Ltd. Efficient deployment of thin client applications to end user
US10176080B2 (en) * 2016-09-19 2019-01-08 Grand Rounds, Inc. Methods and systems for content management and testing
US10624601B2 (en) * 2016-11-23 2020-04-21 General Electric Company Imaging protocol manager pushing systems and methods
CN109426516A (zh) * 2017-06-21 2019-03-05 北京信威通信技术股份有限公司 软件版本管理方法及装置
CN107358038B (zh) * 2017-06-30 2020-11-27 上海联影医疗科技股份有限公司 一种通过配置文件整合应用的方法和装置
CN108108181B (zh) * 2017-12-14 2022-03-01 深圳市雷鸟网络传媒有限公司 应用程序的功能更新方法、装置及计算机可读存储介质
CN108829437B (zh) * 2018-06-29 2022-07-29 北京金山安全软件有限公司 产品的开发方法、系统、装置、计算机设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6394353B1 (en) * 1997-06-05 2002-05-28 Siemens Aktiengesellschaft Medical device with control arangement for a device component

Also Published As

Publication number Publication date
CN111596955A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
US9703677B2 (en) Code coverage plugin
US11169902B2 (en) Techniques for evaluating collected build metrics during a software build process
Thummalapenta et al. Mining exception-handling rules as sequence association rules
US9141408B2 (en) Method and system for correcting portion of software application
US8141059B2 (en) Method and system for avoidance of software conflict
CN110554965B (zh) 自动化模糊测试方法及相关设备、计算机可读存储介质
US8978015B2 (en) Self validating applications
US20100251206A1 (en) Avoiding conflict in update in distributed environment employing multiple clients
US8121824B2 (en) Predicate checking for distributed systems
US8769487B2 (en) Configurable auto content testing framework for technical documentation
US20120222014A1 (en) Method and apparatus for detecting software bugs
WO2010041467A2 (en) USING TRANSIENT PCRs TO REALISE TRUST IN APPLICATION SPACE OF A SECURE PROCESSING SYSTEM
US20080282229A1 (en) Apparatus and method of detecting errors in embedded software
US10289536B2 (en) Distinguishing public and private code in testing environments
US20050262488A1 (en) System and method for managing cross project dependencies at development time
US8601439B2 (en) Networked program dependency compatibility analysis
US8448147B2 (en) Heterogenic Coverage Analysis
US11307975B2 (en) Machine code analysis for identifying software defects
US20060225051A1 (en) Method and system for code coverage
JP2010134643A (ja) テストケースの選択方法及び選択システム
US8005940B2 (en) Method and system for unit testing web framework applications
US20080127118A1 (en) Method and system for dynamic patching of software
Person et al. Test analysis: Searching for faults in tests (n)
CN114564394A (zh) 一种测试用例确定方法、系统及相关组件
Yu et al. Using property-based oracles when testing embedded system applications

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
CB02 Change of applicant information

Address after: 201807 Shanghai City, north of the city of Jiading District Road No. 2258

Applicant after: Shanghai Lianying Medical Technology Co.,Ltd.

Address before: 201807 Shanghai City, north of the city of Jiading District Road No. 2258

Applicant before: SHANGHAI UNITED IMAGING HEALTHCARE Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant