用于部署一组软件应用的方法与流程

文档序号:11851401阅读:329来源:国知局
用于部署一组软件应用的方法与流程

本发明涉及一种用于在电信网络中部署一组软件应用的方法,电信网络包括至少一个服务器、电信终端以及在所述服务器和所述终端之间的电信装置,该方法包括由服务器执行的以下步骤:

-接收待部署在终端上的该组软件应用;

-基于该组软件应用确定用于终端的部署数据。



背景技术:

终端例如包括移动或固定设备、智能手机、平板电脑、笔记本电脑或台式电脑、多媒体设备。

部署一组软件应用的需要尤其发生在对终端群(fleets)的管理中,例如业务终端群,人们希望监测终端的内容。在这种监测的背景下,存在使得能够对终端的数据进行保护的移动设备管理方案或安全解决方案。

当前用于部署软件应用的方案基于通常由终端操作系统的发布者提供的公共应用部署系统的使用,例如“谷歌市场(Google Play)”系统,根据该系统,由终端的用户(常常是终端群的管理员)安装每个应用。对于应用的改动被发布在“谷歌市场”上。“谷歌市场”然后通知终端这些更新可用。

其它方案使用了专门的管理系统在终端上部署应用,通常在使用该方案的公司的信息系统上或者在为用户选择的安全解决方案的发布者处进行部署。

例如,文献WO 2011162746A1已知设计应用部署确定系统。

上述这些方案存在一定数量的缺陷。

这些方案导致终端管理者或用户难以接受的行为,例如:

-具有谷歌账户来下载应用、或要求经过公司的信息系统;

-要求管理员来管理应用与正在使用中的操作系统版本的兼容性:操作者必须事先检查他希望在远程终端上部署的应用确实和该远程终端相兼容。

此外,这些方案给中央管理实体造成了巨大的下载量:中央管理实体知道应用列表和每个终端中实施的操作系统版本,而且,对于这些终端中的每一个,根据该信息执行计算以生成专用于该终端的部署顺序,指示终端必须执行的应用的安装、删除和更新以与由管理员限定的一组应用兼容。终端然后应用其具体的部署顺序。

因此,所管理的终端的数目越大,该中央实体将需要进行更多的处理以管目标理终端群上的应用的部署。

上述方案基于以下原则:中央实体给终端发送通知以通知终端该部署顺序或更新可用。这个原则要求中央实体了解终端的可用性以确保它们已经全部接收到通知,从而会产生用于那个实体的额外的工作量。

因此,需要减少现有技术方案中的缺陷。



技术实现要素:

为此,根据第一方面,本发明提出了用于部署以上提及的类型的一组应用的方法,其特征在于:所述用于终端的数据包括由服务器通过实施以下步骤确定的部署列表:

-对于在终端上实施的操作系统组中的每个操作系统,基于与所述应用和操作系统之间的兼容性有关的标准,从所述待部署的该组软件应用中选择软件应用;以及确定与该操作系统相关联并且包括所选择的应用的标识符的部署子列表;

-在所述部署列表(F2)中插入为针对操作系统组的应用的系统确定的子列表;

-将所述部署列表提供给所述终端提供。

上述自动处理方法因此使得能够生成可以被所有终端使用的单个文件。在服务器级别的计算需求是有限的。

在实施例中,根据本发明的用于部署一组软件应用的方法进一步包括一个或多个以下特征:

-对于从与一操作系统相关联的子列表中选择的每个应用,服务器确定该应用的安装或卸载是否取决于另一应用,如果确定所述应用的安装或卸载取决于另一应用,则服务器依赖关系将所述另一应用的标识符添加到与操作系统相关联的子列表中,以指示所述应用与所述另一应用之间的依赖关系。

-验证与给定的应用和操作系统之间的兼容性有关的所述准则包括:

-从应用中提取指示与应用兼容的操作系统的元数据的;和/或

-将与应用兼容的操作系统和由服务器管理的操作系统的列表进行比较;和/或

-从应用中提取指示应用的版本的数据;和/或

-应用和操作系统与各自的安全级别相关联:将应用的安全级别和操作系统的安全级别进行比较;

-每个操作系统与强制性安全应用相关联,并且应用和操作系统与各自的安全级别相关联:确定与操作系统相关联的强制性安全应用,并且将所给定的安全级别和所确定的强制性安全应用的安全级别进行比较。

根据第二方面,本发明提出了用于在电信网络中部署一组软件应用的方法,电信网络包括至少一个服务器、电信终端及在所述服务器和所述终端之间的电信装置,所述方法包括以下步骤:

-终端经由电信装置从服务器中获得部署列表,该部署列表列出多个子列表,该多个子列表指示应用标识符的子列表,并且每个子列表和与一组操作系统的相应终端操作系统相关联;

-终端确定之后安装在终端上的应用和操作系统,将所确定的应用和与所确定的操作系统相关联的子列表进行比较,并且基于上述比较:

-对于安装在终端上的应用中所述标识符没有在所述子列表中出现的每一个,终端卸载所述应用;

-对于在所述子列表中出现的应用标识符中的每一个,终端执行以下步骤:

-终端确定所述应用是否已经安装在终端上;

-如果终端确定应用尚未安装在终端上,则终端从服务器下载所述应用并安装所述应用;

部署方法进一步包括根据本发明的第一方面的部署方法的步骤:

在实施例中,根据本发明用于部署一组软件应用的方法还包括一个或多个以下特征:

-与每个操作系统相关联的子列表指示应用标识符,每个应用标识符与应用版本号相关联,并根据该应用标识符执行以下步骤:

-如果终端确定应用已经安装在终端上,则终端将所安装的应用的版本号和与列表中的标识符相关联的版本号进行比较;

-如果所比较的版本号不同,则终端10从服务器下载在列表中所指示的版本号指示的应用的版本,并安装所下载的软件应用;

-在子列表中,一应用的标识符与另一应用的标识符相匹配,指示所述应用的安装或卸载应用取决于所述另一应用,其中,终端以基于所述指示的顺序安装或卸载所述应用。

根据第三方面,本发明提出了安装在服务器上的计算机程序,该计算机程序用于在电信网络中实施,该电信网络进一步包括电信终端及在所述服务器和所述终端之间的电信装置,所述程序包括用于在在服务器的处理装置执行期间执行根据本发明的第一方面的步骤的指令。

根据第四方面,本发明提出了在电信终端上安装的计算机程序,该计算机程序用于在电信网络中实施,电信网络包括至少一个服务器、多个电信终端及在所述服务器和所述终端之间的电信装置,所述程序包括用于在终端的处理装置执行程序期间执行根据本发明的第二方面的步骤的指令。

根据第五方面,本发明提出了电信网络的服务器,该电信网络包括电信终端,所述服务器包括在所述服务器和所述终端之间的电信装置;

所述服务器适用于接收待部署在终端上的一组软件应用,基于所述接收的该组软件应用确定用于终端的部署数据;

所述服务器的特征在于,在确定部署数据期间,该服务器适用于基于相对于与所述应用和操作系统之间的兼容性有关的准则,针对在终端上实现的操作系统组中的每个操作系统,从所述待部署的该组软件应用中选择软件应用;以及确定与该操作系统以及包括所述所选择的应用的标识符相关联的部署子列表;

所述服务器适用于在部署列表(F2)中插入针对所述操作系统组的应用的系统所确定的子列表,并使所述部署列表对于终端可用。

根据第六方面,本发明提出了用于电信网络的电信终端,电信网络包括:至少一个服务器、电信终端及在所述服务器和所述终端之间的电信装置;

所述终端适用于经由电信装置从服务器中获得部署列表,该部署列表列出多个子列表,所述子列表指示应用标识符的子列表,并且每个子列表与一组操作系统的相应终端操作系统相关联;

所述终端适用于确定应用和操作系统并将其安装在终端上,对所确定的应用和与所确定的操作系统相关联的子列表进行比较,并且基于上述比较:

-对于安装在终端上的应用中所述标识符没有在所述子列表中出现的每一个应用,终端卸载所述应用;

-对于在所述子列表中出现的应用标识符中的每一个,执行以下步骤:

-确定所述应用是否已经安装在终端上;

-如果终端确定所述应用尚未安装在终端上,则终端从服务器下载所述应用并安装所述应用。

附图说明

阅读以下仅作为示例提供并参照附图进行的描述,将更好地理解本发明的以上特征和优点,在附图中:

图1示出了在本发明的一个实施例中的电信系统的示意图;

图2示出了在本发明的一个实施例中实施的步骤的示意图;

图3示出了在本发明的一个实施例中实施的步骤的示意图;

图4示出了在本发明的一个实施例中的部署文件F2的内容的一部分的示意图。

具体实施方式

图1为实施根据本发明的方法的系统示意图;

电信系统100包括多个用户终端10。这些终端10经由电信链路11(有线或无线)连接到电信网络R1。分布式服务器Servd也经由电信链路11连接到电信网络R1。

终端10例如包括通过无线链路11连接到网络R1上的移动智能手机。终端例如包括台式电脑或笔记本电脑等等。

此外,分布式服务器(distribution server)Servd和生成式服务器(generating server)Servg通过各自的电信链路12连接到电信网络R2。

在一个实施例中,网络R1是公共网络,例如因特网,网络R2是私人网络,例如公司网络。

每个终端10特别地包括存储器11和微处理器12。存储器11尤其适用于存储操作系统和软件应用,并使用微处理器12来实施它们。

在此处所考虑的实施例中,系统100实现被称为安全层的安全环境,该安全环境通过使用强制性安全软件应用来实现。

安装了强制性安全软件应用的终端10适用于在终端10上安装的任何软件应用,并且通过以下方式与要保护的安全层兼容:由软件应用生成的数据和/或软件应用与网络R1交换的数据被加密,通过使用软件划分以避免应用受到任何欺诈性的入侵。该划分监视安全应用的输入和输出以防止不安全的第三方应用以危险方式与安全应用交互。

系统100中存在安全层的不同版本。

图2示出了在本发明的一个实施例的系统100中实施的步骤的示意图。

值得注意的是,在所考虑的实施例中,在微处理器12上执行了在存储器11中存储的相应的软件指令后,完成由每个终端实施的步骤。

同样地,在服务器的计算装置上执行了在服务器的存储器中存储的相应的软件指令之后,完成由每个服务器Servg、Servd实施的步骤。

在第一配置步骤101中,服务器Servg导入配置文件F1,例如就完整性和真实性进行加密保护的配置文件。该文件例如由解决方案的发布者提供给服务器Servg并由服务器Servg的管理员U插入。

在所考虑的实施例中,该配置文件F1:

-对于由生成式服务器Servg管理的每个安全层版本和操作系统版本,指示依赖关系列表,该依赖关系列表包括应用的标识符,该应用在终端上的安装或卸载使用了其它应用;并且该依赖关系列表中,每个应用标识符与所述其它应用的标识符相关联。

-指示安全应用的标识符列表,该安全应用根据在系统1中考虑的安全层必须安装在必须部署应用的终端上。

该文件F1存储在服务器Servg的存储器中。

在步骤102中,例如由请求导入软件应用A的管理员U将指令提供给服务器Servg,每个导入的软件应用与应用标识符和版本号相关联。

当接收到要导入应用A的指令时,服务器Servg(经由网络R2、其它网络或媒介)导入软件应用A,然后请求将软件应用A存储在分布式服务器Servd中。在步骤103中,服务器Servg分析该软件应用A的内容并从该应用中提取数据,例如在应用的源代码中呈现的元数据或在应用中呈现的清单文件的元数据,该元数据指示:

-与应用兼容的操作系统(例如操作系统的类型(例如安卓、Windows、Linux等等)和操作系统的版本(例如V4.0、V3.2等等)),

-与应用兼容的安全层的版本。

上述信息存储在服务器Servg的存储器中,与应用A的标识符及版本号匹配。

在步骤104中,管理员U选择所导入的应用A(包括一个或多个强制性安全应用;该选择可以默认完成)中的至少一些并给服务器Servg指示该选择。这些所选择的应用A限定管理员希望在终端10的组(set)T上部署的软件包。

在步骤105中,服务器Servg基于所选的应用和服务器的存储器中存储的相关联的信息,并进一步基于文件F1的配置信息,确定与限定的软件包对应的部署列表的内容。在一个实施例中,由于基于F1中包含的信息,如果对于执行所选择的应用是必要的则可以引导服务器Servg添加应用,所以软件包可以包含比那些由管理员U选择的应用更多的应用。

在所考虑的实施例中,该部署列表包括图4中示意性示出的文件F2。

参照图4,由生成式服务器Servg确定的部署列表F2包括与各操作系统相关联的连续区段(section)SOS。因此,区段SOSX与操作系统X相关联。在所考虑的示例中,每个操作系统以操作系统的类型(Windows、Linux、Android)和操作系统的版本来表征。

与操作系统SOS相关联的每个区段(例如段SOSX)包括针对以上限定的软件包的组件的应用标识符A2,以及对于这些应用标识符中的每一个,进一步包括与所述应用标识符A2相关联的版本代码,该版本代码指示应用的版本号、应用的大小、完整性字和依赖关系列表,完整性字使终端对能够对其已经下载的应用进行完整性检查。

现在参照图3更详细地对由生成式服务器Servg实施的步骤105进行描述。

在步骤105_1中,对于连续考虑的软件包的每个应用标识符A2,服务器Servg从该服务器的存储器中提取:

-与应用A2兼容的的信息系统有关的信息,以及

-应用A2的安全层版本。

对于被指示为与应用A2兼容并连续考虑的这些信息系统的每一个,在步骤105_2中,服务器Servg从该服务器的存储器中提取配置文件F1(基于来自配置文件F1的存储数据和从强制性应用中提取的数据),强制性安全应用的安全层版本与该信息系统兼容。上述信息系统在下文中引用如下:操作系统OS版本x。

在步骤105_3中,服务器Servg比较应用A2的安全层版本和与该信息系统兼容的强制性安全应用的安全层版本。

如果这两个安全层版本不同,则不将所考虑的版本的应用A2添加到与操作系统OS版本X相关联的文件F2的区段(步骤105_4),然后考虑下一个被指示为兼容的操作系统。

应该注意的是,在本发明的一个实施例中,如果操作系统版本X与具有不同安全层版本的多个安全应用兼容,则服务器Servg将自动选择具有最新版本的应用(即,最高的版本代码)并将该应用添加到F2中与操作系统OS版本X相关联的的区段。

如果两个安全层版本等同,则将所考虑的版本中提到的应用A2添加到F2中与操作系统OS版本X相关联的区段SOSX中,但是在步骤105_5中,在存储在服务器Servg的存储器中并来自配置文件F1的依赖关系列表中,服务器Servg预先验证应用A2是否被指示为依赖于其它应用。

如果应用A2没有依赖关系,则在步骤105_7中,使与应用A2有关的字段(feild)(应用标识符、版本代码、大小、完整性字)被输入到与操纵系统OS版本X相关联的文件F2的区段中。

如果应用A2被指示为依赖于其它应用,则使A2依赖的所述其它应用的标识符被输入到与与操作系统OS版本X相关联的文件F2的区段SOSX中与应用A2相关联的“依赖关系列表”字段中,使与应用A2有关的其它字段(应用标识符、版本代码、大小、完整性字)被输入到文件F2的区段SOSX中[sic](原文如此)。

一旦已经执行了用于软件包的每个应用A2(和用于与应用A2兼容的操作系统)的上述这些操作,则步骤105在步骤105_8处停止。

在步骤106中,生成式服务器Servg经由链路12和网络R2向分布式服务器Servd发送部署列表F2,以使得部署列表F2对终端10可用。

根据实施例,限定列表所用于的终端10的组(set)T(例如,给定公司的终端的组)的信息还被发送(至服务器Servd),的列表,信息与部署列表F2匹配。生成式服务器Servg为给定组T或单个终端10提供部署列表F2服务器Servg预先向分布式服务器Servg提供组T的定义,这导致创建存储每个组T的一般数据的文件(目录)以及特定于每个终端10的文件。

如果新的部署列表F2适用于限定终端10的组T,则分布式服务器Servd然后存储上述与终端10相关联的新的部署列表F2。

因此,生成式服务器Servg已经将由管理员U限定的满足以下2个标准的软件包的应用包含到所生成的文件F2中,根据这2个标准该应用必须:

-与操作系统(版本和类型)兼容,该操作系统与强制性应用兼容;以及

-使得应用的安全层版本与强制性应用的安全层版本兼容。

部署列表包括子列表,子列表分别与根据本发明的系统100管理的每个操作系统相关联。每个子列表通过操作系统选择的包的应用标识符列出所考虑的部署及相关数据。

每个终端10是合适的以便于经由电信链路11和网络R1定期(例如每天一次)验证自身,并与分布式服务器Servd建立通信,以便于下载在服务器上可用的新的部署列表F2,接下来基于新的部署列表执行操作。

以下对于任何终端10概括了这些步骤。

在步骤107中,终端10经由电信链路11和网络R1建立与服务器Servd的通信,并请求经由安全的相互验证(例如密码验证)连接到分布式服务器Servd

然后,一旦验证完成,在步骤108中,终端10和分布式服务器Servd交换信息,并基于这些交换确定终端10是否已经下载了可用于终端10的服务器Servd的部署列表F2。

如果是,则结束终端10和分布式服务器Servd之间的通信。

如果不是,则在步骤109中,终端10从分布式服务器Servd下载部署列表F2(如果可用的话,则仅在服务器Servd已经验证了所述终端10实际上是对应于该部署列表F2的终端10的组T的一部分之后授权该下载)。

在步骤110中,终端10使用所下载的部署列表F2。特别是执行以下处理:

-对于安装在终端10上的每个应用(下文中简称A10):如果在与终端10实施的操作系统X对应的部署列表F2中的这个区段SOSX中没有列出A10,则终端10卸载软件应用A10

-对于在区段SOSX中列出的每个软件应用A2,终端执行操作i至iii:

i.终端确定所述应用是否已经安装在终端10上;

ii.如果是,则终端比较所安装的应用A2的版本和由区段SOSX中表示的A2的版本代码表示的版本。根据该比较:如果所比较的版本相同,则不存在要由终端10完成的与A2有关的操作;如果所比较的版本不同,则终端10从服务器Servd下载由区段SOSX中表示的A2的版本代码表示的A2的版本,并使用所下载的版本(通常经由软件更新程序)替换所安装的软件应用A2。

iii.如果终端10已经确定应用A2尚未安装在终端10上,则当符合在区段SOSX中的应用A2的依赖关系列表中指示的A2的软件依赖关系时,终端从服务器Servd下载并安装由区段SOSX中指示的版本下的A2:如果在应用A2的依赖关系列表中识别出的应用A3,则在下载并安装A2之前,终端10下载并安装应用A3。

在所考虑的实施例中,终端10适用于就存在新的部署列表F2定期查询分布式服务器Servd。在另一实施例中,通过消息通知终端10存在待下载的新的部署列表F2或者将新的部署列表F2直接发送给终端10。

这些部署列表(文件F2)因此包括:对于每个所考虑的类型的操作系统,在每个考虑的版本中,从由管理员指示的一组应用E中提取的应用列表。

因此,对于在文件F2中考虑的两个操作系统版本,针对操作系统的第一版本确定的应用列表可以与针对操作系统的第二版本确定的应用列表不同,原因如下:

-由管理员选择的应用与两个操作系统版本之一不兼容;

-应用与对应于操作系统的版本之一的安全层不兼容。

该部署列表(文件F2)不包括考虑的实施例中的任何命令。该部署列表提供了管理员限定的在一组应用E中的应用列表。

已经由服务器Servg一致形成了部署列表F2,即不存在与强制性安全应用不兼容的安全层。

因此,本发明使得对在终端群上的应用部署进行简化成为可能。本发明系统地并自动解决了以下技术问题:

-应用与终端的操作系统及那些操作系统的版本的兼容性;

-应用与其使用的安全层的兼容性和一致性;

-将应用之间的依赖关系考虑在内。

本发明进一步使得能够增强性能并减少必要的处理资源。

处理操作实际上分布在在中央实体(上文中的生成式服务器Servg)和移动终端之间。服务器Servg负责应用列表、一致性检查并产生所生成的部署列表(在以上情况下,文件F2),每个终端根据共享文件F2执行处理操作以减少必要的操作,从而基于终端的状态执行处理操作。

经由文件F2生成的部署列表是唯一的(服务器Servg仅生成用于一终端组的单个文件F2,而不是针对每个终端生成一个文件)。服务器尚未基于特定终端的状态建立终端使用的文件F2,尤其是独立于在该特定终端上实施的应用和操作系统建立文件F2。

参照以上附图所描述的实施例使用了经由网络R2连接的两个服务器Servg和Servd。这只是本发明除其他情况之外的一个可能的实施例。在其他的实施例中,例如,使用单个服务器来执行由这些服务器(Servg和Servd)执行的操作。

在以上参照附图描述的实施例中,已经考虑了将涉及在系统中实施的安全环境有关问题考虑在内的部署。本发明当然还可以用于这样的安全环境以外的情况下。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1