发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的终端软件的更新方法、装置和相应的终端软件的更新***。
依据本发明的一个方面,提供了终端软件的更新方法,包括:
获取目标组播地址;所述组播地址对应的组播组中,包括控制中心的主机地址;
向所述组播地址发送终端软件的更新请求;
当收到所述控制中心响应所述终端软件的更新请求时,终端***获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接;
终端***通过所述点对点连接接收控制中心下发的更新数据,并利用所述更新数据对终端软件进行更新。
可选地,所述向所述组播地址发送终端软件的更新请求,包括:
通过在终端***中部署终端呼叫程序EntCall,定时向所述组播地址发送终端软件的更新请求。
可选地,所述向所述组播地址发送终端软件的更新请求,包括:
向所述组播地址发送包含所述终端软件的当前状态信息的更新请求。
可选地,所述向所述组播地址发送终端软件的更新请求,包括:
向所述组播地址发送经过加密的终端软件的更新请求。
可选地,所述当收到所述控制中心响应所述终端软件的更新请求时,终端***获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接,包括:
终端***接收所述控制中心响应所述终端软件的更新请求的加密响应消息,并对所述加密响应消息进行解密;
终端***根据解密后的结果获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接。
可选地,所述终端***通过所述点对点连接接收控制中心下发的更新数据,并利用所述更新数据对终端软件进行更新,包括:
终端***通过所述点对点连接接收控制中心下发的更新工具以及更新配置,并利用所述更新工具以及更新配置,将终端软件从个人版更新为企业用户版。
可选地,还包括:
根据所述组播地址,将所述控制中心的主机地址注册到所述组播组中。
可选地,所述根据所述组播地址,将所述控制中心的主机地址注册到所述组播组中,包括:
根据所述组播地址,将两个以上的所述控制中心的主机地址注册到所述组播组中。
根据本发明的另一方面,提供了一种终端软件的更新装置,包括:
组播地址获取单元,用于获取目标组播地址;所述组播地址对应的组播组中,包括控制中心的主机地址;
请求发送单元,用于向所述组播地址发送终端软件的更新请求;
连接建立单元,位于终端***中,用于当收到所述控制中心响应所述终端软件的更新请求时,获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接;
更新单元,位于终端***中,用于通过所述点对点连接接收控制中心下发的更新数据,并利用所述更新数据对终端软件进行更新。
可选地,所述请求发送单元,包括:
第一请求发送子单元,通过在终端***中部署终端呼叫程序EntCall,定时向所述组播地址发送终端软件的更新请求。
可选地,所述请求发送单元,包括:
第二请求发送子单元,用于向所述组播地址发送包含所述终端软件的当前状态信息的更新请求。
可选地,所述请求发送单元,包括:
第三请求发送子单元,用于向所述组播地址发送经过加密的终端软件的更新请求。
可选地,所述连接建立单元,包括:
连接建立子单元,位于终端***中,用于接收所述控制中心响应所述终端软件的更新请求的加密响应消息,并对所述加密响应消息进行解密;以及根据解密后的结果获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接。
可选地,所述更新单元,包括:
更新子单元,用于通过所述点对点连接接收控制中心下发的更新工具以及更新配置,并利用所述更新工具以及更新配置,将终端软件从个人版更新为企业用户版。
可选地,还包括:
注册单元,用于根据所述组播地址,将所述控制中心的主机地址注册到所述组播组中。
可选地,所述注册单元,具体用于:
根据所述组播地址,将两个以上的所述控制中心的主机地址注册到所述组播组中。
根据本发明的又一方面,提供了一种终端软件的更新***,包括客户端以及服务器端;
其中所述客户端包括:
组播地址获取单元,用于获取目标组播地址;所述组播地址对应的组播组中,包括控制中心的主机地址;
请求发送单元,用于向所述组播地址发送终端软件的更新请求;
连接建立单元,位于终端***中,用于当收到所述控制中心响应所述终端软件的更新请求时,获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接;
更新单元,位于终端***中,用于通过所述点对点连接接收控制中心下发的更新数据,并利用所述更新数据对终端软件进行更新。
可选地,所述请求发送单元,包括:
第一请求发送子单元,通过在终端***中部署终端呼叫程序EntCall,定时向所述组播地址发送终端软件的更新请求。
可选地,所述请求发送单元,包括:
第二请求发送子单元,用于向所述组播地址发送包含所述终端软件的当前状态信息的更新请求。
可选地,所述请求发送单元,包括:
第三请求发送子单元,用于向所述组播地址发送经过加密的终端软件的更新请求。
可选地,所述连接建立单元,包括:
连接建立子单元,位于终端***中,用于接收所述控制中心响应所述终端软件的更新请求的加密响应消息,并对所述加密响应消息进行解密;以及根据解密后的结果获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接。
可选地,所述更新单元,包括:
更新子单元,用于通过所述点对点连接接收控制中心下发的更新工具以及更新配置,并利用所述更新工具以及更新配置,将终端软件从个人版更新为企业用户版。
所述服务器端包括:
注册单元,用于根据所述组播地址,将所述控制中心的一个或一个以上主机地址注册到所述组播组中;
监听单元,用于监听和接收所述组播组转发的所述终端软件的更新请求;
更新数据发送单元,用于通过所述服务器端与所述客户端建立的点对点连接,通过所述点对点连接向所述客户端发送终端软件的更新数据。
根据本发明的终端软件的更新方法,可以采用组播技术,在路由器上配置组播组,将控制中心的地址加入到组播组中,终端软件可以向组播组发送更新请求消息,组播组将更新请求消息转发给组播组内的控制中心,控制中心接收到更新请求消息后,可以向终端***发送确认消息,终端收到控制中心返回的确认消息后,与控制中心建立点对点连接,下载终端软件更新相关的数据包,并利用下载的更新数据包对终端软件进行更新,从而不需要管理员以及终端用户的参与,也无需管理员去下发应用更新相关的数据包,就能够自动准确的发现控制中心,与之建立连接并下载终端软件的更新数据,提高了终端软件更新的效率。并且进一步的由于采用组播技术,当控制中心地址变更时,只要将变更后的地址加入到组播组中,即可实现在不改变客户端终端软件的情况下,依然能够对终端软件进行正常更新,保证了终端软件更新的稳定性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
请参见图1,为本发明实施例提供的终端软件的更新方法的流程图,如图所示,本发明实施例提供的终端软件的更新方法可以包括以下步骤。
S110:获取目标组播地址;所述组播地址对应的组播组中,包括控制中心的主机地址;
首先可以获取目标组播地址,在组播地址对应的组播组中,可以包括控制中心的主机地址。组播是一种网络传输技术,能够在发送者和每一接收者之间实现点对多点网络连接。一个发送者可以同时给多个的接收者传输相同的数据,只需将接收者的主机地址加入到同一个组播组,在传输数据时,发送发只需向组播地址发送一份消息,组播组就可以根据已注册到该组播组的成员的地址,对该消息进行复制和转发,将该消息准确的发送给组播组内的注册成员,因此提高了数据传送效率,减少了网络出现拥塞的可能性。本发明中,可以利用了组播传输的可靠性以及高效性,来实现终端***与控制中心的连接,进而对终端软件进行更新,尤其是在终端对应多个控制中心主机时,可以实现一次向多个控制中心同时发送更新请求。控制中心可以理解为网络上的为终端软件提供更新服务的升级服务器。当然,控制中心也可以具有对终端***的终端软件进行安装/卸载、代理升级、状态检测等管理功能,本发明实施例对此并没有限制。
组播技术在实现时,需要一个组播地址,一个组播地址对应一个组播组,在组播组内可以包括至少一个主机地址,当发送方向组播地址发送数据包时,加入到该组播组的主机都可以接收到该数据包,从而实现了“一对一组”的传输模式。在本发明中,可以将控制中心的主机地址,加入到目标组播组中,这样终端***在进行终端软件的更新时,只需要获取目标组播地址,就可以向控制中心发送更新请求。
控制中心作为终端软件更新请求的接收方,可以根据组播地址,将控制中心的主机地址注册到对应的组播组中,当提供更新服务的控制中心多于一个时,或者同一控制中心使用多个主机地址以实现多条链路时,可以组播地址,将控制中心的多个主机地址注册到一个组播组中。这样,当终端软件发送更新请求时,更新请求会被转发给所有加入到组播组中的多个主机地址,可以根据终端***与不同主机或不同链路的连接情况,优选更快的连接,实现连接的优化,提高终端软件更新的效率。此外,在控制中心的网络地址发生改变时,可以将原地址在组播组中注销,将变更后的地址加入到组播组中,这样,终端***不需要对升级所需的组播组进行调整,仍然可以实现与控制中心的正常通信,避免了在普通方式下,一旦控制中心的网络地址发送变化,需要对终端***也进行相应的调整,否则终端软件可能出现无法正常更新的情况。
S120:向所述组播地址发送终端软件的更新请求;
如前所述,通过组播组,可以实现终端***与控制中心的连接,终端***可以通过获取到的组播地址,向包含有控制中心主机地址的组播组发送更新请求。具体在发送的过程中,可以在终端***中部署一定的呼叫程序,如在终端***中部署终端呼叫程序EntCall,向组播地址发送终端软件的更新请求。在实际应用中,控制中心可能出现不能及时应答等情况,还可以通过终端***中部署的终端呼叫程序,定时的向控制中心不断的发送更新请求,直至控制中心响应终端软件的更新请求,如直至收到控制中心的返回消息。
在向组播地址所发送的终端软件的更新请求中,还可以包含终端软件的当前状态信息,即向组播地址发送包含终端软件的当前状态信息的更新请求。终端软件的当前状态可以是软件的版本信息,控制中心在收到更新请求中包含的版本信息时,可以根据终端软件的版本信息判断是否需要对终端软件进行升级,在有升级需求时,响应终端软件的更新请求,与终端***进行连接,发送更新数据。对于安全类终端软件,因为需要恶意程序特征库的支持,还可以在发送更新请求时,将恶意程序特征库的当前版本作为一种终端软件的当前状态,包含在更新请求中。控制中心在收到包含终端软件的恶意程序特征库版本的更新请求时,可以根据终端软件的终端软件的恶意程序特征库版本对终端软件进行升级。
此外,在向组播地址发送终端软件的更新请求时,还可以将所发送的更新请求进行加密后再发送,即向组播地址发送经过加密的终端软件的更新请求。这是因为,向组播地址发送的更新请求,可以被注册到该组播组的所有主机所接收,将所发送的更新请求进行加密后再发送,供控制中心接收并解密,可以避免人为或者恶意软件的篡改和模仿行为,保证终端***与控制中心主机间通信的安全性。同理,在控制中心发送相应更新请求的信息时,以及向终端***发送终端软件的更新数据时,也可以对响应信息及更新数据进行加密,提供通信的安全性。
S130:当收到所述控制中心响应所述终端软件的更新请求时,终端***获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立连接;
在向组播地址发送终端软件的更新请求,可以等待控制中心的响应。当收到控制中心响应终端软件的更新请求时,获取控制中心的地址,并根据控制中心的地址与控制中心建立连接。与控制中心建立连接,可以通过普通连接的方式,建立连接的过程,可以是终端***发起,也可以由控制中心发起。如前所述,为了保证网络通信的安全,可以在终端***与控制中心之间传输数据时,对所传输的数据进行加密。如果控制中心响应终端软件的更新请求的消息是经过加密的加密响应消息,在接收控制中心响应终端软件的更新请求的加密响应消息时,可以对加密响应消息进行解密;并根据解密后的数据获取控制中心的地址,进而根据控制中心的地址与控制中心建立连接,进行终端软件的更新。
S140:终端***通过所述点对点连接接收控制中心下发的更新数据,并利用所述更新数据对终端软件进行更新。
终端***与控制中心建立成功连接后,可以接收控制中心下发的更新数据,并利用接收到的更新数据对终端软件进行更新。如前所述,在向组播地址所发送的终端软件的更新请求中,还可以包含终端软件的当前状态信息,控制中心可以根据终端软件的当前状态信息,先判断终端软件是否需要更新,在判断终端软件存在更新需求后,再组织更新数据,传输给终端***。这样可以实现对终端软件进行增量更新,节约网络流量,提升终端软件的更新效率。在对终端软件进行增量升级时,只需要在原有终端软件的基础上,将增加的部分文件或者数据加入到终端软件即可,此时终端软件的更新数据可以依据终端应用的当前信息生成。例如对安全类终端软件的恶意程序特征库进行增量升级时,可以根据恶意程序特征库的当前版本,来确定哪些是增量升级所需的数据,进而根据当前版本,生产增量升级所需的更新数据即可。
另外,在企业中使用的计算机软件,常常是一种群体用户使用的终端软件,在不同终端***中可能存在有同一软件的不同版本,有的终端***可能人为的安装了个人版的终端软件,例如有的用户在终端***中安装了个人版的杀毒软件,而出于对企业计算机使用环境进行统一管理的考虑,管理员希望对企业内的软件进行统一的升级,以使企业内的所有终端***使用同一版本的企业版终端软件,而不是个人版终端软件,以便于利用企业版终端软件更为强大和全面的更能,以及便于统一的配置和管理。此时,通过本发明实施例提供的方法,还可以将更新工具以及更新配置作为更新数据,终端***与控制中心建立连接后,可以接收控制中心下发的更新工具以及更新配置,并利用更新工具以及更新配置,对终端软件进行更新,将终端软件从个人版统一更新为企业用户版。
以上对本发明实施例提供的终端软件的更新方法进行了详细的介绍,该方法采用组播技术,通过在路由器上配置的组播组,将控制中心的地址加入到组播组中,终端软件可以向组播组发送更新请求消息,组播组将更新请求消息转发给组播组内的控制中心,控制中心接收到更新请求消息后,可以向终端发送确认消息,终端收到目标主机返回的确认消息后,与控制中心建立连接,下载终端软件更新相关的数据包,并利用下载的更新数据包对终端软件进行更新,从而能够自动准确的发现控制中心,建立连接并下载终端软件的更新数据,提高了终端软件更新的效率。并且由于采用组播技术,当控制中心地址变更时,只要将变更后的地址加入到组播组中,即可实现在不改变客户端终端软件的情况下,依然能够对终端软件进行正常更新,保证了终端软件更新的稳定性。
与本发明实施例提供的终端软件的更新方法相对应,本发明实施例还提供了终端软件的更新装置,请参见图2,该装置可以包括:
组播地址获取单元210,用于获取目标组播地址;其中,组播地址对应的组播组中,包括控制中心的主机地址;
请求发送单元220,用于向组播地址发送终端软件的更新请求;
连接建立单元230,位于终端***中,用于当收到控制中心响应终端软件的更新请求时,获取控制中心的地址,并根据控制中心的地址与控制中心建立点对点连接;以及,
更新单元240,位于终端***中,用于通过所述点对点连接接收控制中心下发的更新数据,并利用更新数据对终端软件进行更新。
请求发送单元220还可以包括:
第一请求发送子单元,通过在终端***中部署终端呼叫程序EntCall,定时向组播地址发送终端软件的更新请求。在发送更新请求的过程中,可以在终端***中部署一定的呼叫程序,如在终端***中部署终端呼叫程序EntCall,向组播地址发送终端软件的更新请求。在实际应用中,控制中心可能出现不能及时应答等情况,第一请求发送子单元还可以通过终端***中部署的终端呼叫程序,定时的向控制中心不断的发送更新请求,直至控制中心响应终端软件的更新请求,如直至收到控制中心的返回消息。
在另一种实现方式下,请求发送单元220还可以包括:
第二请求发送子单元,用于向组播地址发送包含终端软件的当前状态信息的更新请求。终端软件的当前状态可以是软件的版本信息,控制中心在收到更新请求中包含的版本信息时,可以根据终端软件的版本信息判断是否需要对终端软件进行升级,在有升级需求时,响应终端软件的更新请求,与终端***进行连接,发送更新数据。
在又一种实现方式下,请求发送单元220还可以包括:
第三请求发送子单元,用于向组播地址发送经过加密的终端软件的更新请求。在向组播地址发送终端软件的更新请求时,可以将所发送的更新请求进行加密后再发送,即向组播地址发送经过加密的终端软件的更新请求。
此外,连接建立单元230可以包括:
连接建立子单元,位于终端***中,用于接收控制中心响应终端软件的更新请求的加密响应消息,并对加密响应消息进行解密;以及根据解密后的结果获取控制中心的地址,并根据控制中心的地址与控制中心建立点对点连接。
在实际应用中,更新单元240还可以包括:
更新子单元,用于通过所述点对点连接接收控制中心下发的更新工具以及更新配置,并利用更新工具以及更新配置,将终端软件从个人版更新为企业用户版。
该终端软件的更新装置,还可以包括:
注册单元,用于根据组播地址,将控制中心的主机地址注册到组播组中。注册单元,具体可以用于:根据组播地址,将两个以上的控制中心的主机地址注册到组播组中。
与本发明实施例提供的终端软件的更新方法和装置相对应,本发明实施例还提供了终端软件的更新***,请参见图3,该可以包括客户端310以及服务器端320。
其中客户端310可以包括:
组播地址获取单元3102,用于获取目标组播地址;其中,组播地址对应的组播组中,包括控制中心的主机地址;
请求发送单元3104,用于向组播地址发送终端软件的更新请求;
连接建立单元3106,用于当收到控制中心响应终端软件的更新请求时,获取控制中心的地址,并根据控制中心的地址与控制中心建立点对点连接;以及,
更新单元3108,用于通过所建立的点对点连接接收控制中心下发的更新数据,并利用更新数据对终端软件进行更新。
请求发送单元3104还可以包括:
第一请求发送子单元,通过在终端***中部署终端呼叫程序EntCall,定时向组播地址发送终端软件的更新请求。
在另一种实现方式下,请求发送单元3104还可以包括:
第二请求发送子单元,用于向组播地址发送包含终端软件的当前状态信息的更新请求。终端软件的当前状态可以是软件的版本信息,控制中心在收到更新请求中包含的版本信息时,可以根据终端软件的版本信息判断是否需要对终端软件进行升级,在有升级需求时,响应终端软件的更新请求,与终端***进行连接,发送更新数据。
在又一种实现方式下,请求发送单元3104还可以包括:
第三请求发送子单元,用于向组播地址发送经过加密的终端软件的更新请求。在向组播地址发送终端软件的更新请求时,可以将所发送的更新请求进行加密后再发送,即向组播地址发送经过加密的终端软件的更新请求。
此外,连接建立单元3106可以包括:
连接建立子单元,用于接收控制中心响应终端软件的更新请求的加密响应消息,并对加密响应消息进行解密;以及根据解密后的结果获取控制中心的地址,并根据控制中心的地址与控制中心建立点对点连接。
在实际应用中,更新单元3108还可以包括:
更新子单元,用于通过所建立的点对点连接接收控制中心下发的更新工具以及更新配置,并利用更新工具以及更新配置,将终端软件从个人版更新为企业用户版。
服务器端320可以包括:
注册单元3202,用于根据组播地址,将控制中心的一个或一个以上主机地址注册到所述组播组中;
监听单元3204,与组播组或安装有组播组的路由器连接,用于监听和接受组播组转发的终端软件的更新请求;
更新数据发送单元3206,与客户端310更新单元3108连接,用于通过所述服务器端与客户端建立的点对点连接,向客户端发送终端软件的更新数据。
以上对本发明实施例提供的终端软件的更新装置和***进行了详细的介绍,该装置或***方法采用组播技术,通过在路由器上配置的组播组,将控制中心的地址加入到组播组中,终端软件可以向组播组发送更新请求消息,组播组将更新请求消息转发给组播组内的控制中心,控制中心接收到更新请求消息后,可以向终端发送确认消息,终端收到目标主机返回的确认消息后,与控制中心建立连接,下载终端软件更新相关的数据包,并利用下载的更新数据包对终端软件进行更新,从而能够自动准确的发现控制中心,建立连接并下载终端软件的更新数据,提高了终端软件更新的效率。
以上介绍了本发明实施例提供的终端软件的更新方法,装置以及***。为了便于更好的理解根据本发明一个实施例的终端软件的更新方法,装置及***,下面再给出本发明实施例的一些具体应用举例,请参阅图4-图7。
图4为本发明实施例的终端软件的更新***的应用举例示意图,图中,组播组位于网络路由器中,控制中心可以将其主机IP地址注册到组播组中,当控制中心对应多个IP地址时,可以将控制中心的所有可用IP地址在路由器的组播组中。各终端***的主机中部署有EntCall程序,终端***可以通过EntCall程序定时向路由器上的组播组发送更新请求,组播组根据注册到组播组的控制中心的IP地址,将更新请求转发给控制中心。控制中心具有监听功能,可以监听组播组转发的终端软件更新请求。
图5为本发明实施例的终端软件的更新过程中控制中心注册过程的流程图。如图所示,首先可以进行控制中心的安装部署过程,控制中心安装部署完成后,可以调用注册模块,将控制中心的所有IP地址注册到特定的组播地址对应的组播组中。如组播地址为234.5.5.5,可以根据该组播地址,将控制中心的所有IP地址,注册到该组播地址对应的组播组中。
图6为本发明实施例的终端软件的更新过程中终端的工作过程的流程图。终端可以调用终端呼叫程序EntCall,定时向组播地址(如234.5.5.5)发送更新请求,进而判断是否有返回消息,如果有,则与控制中心建立连接,下载更新数据,如下载更新工具和更新配置等。如果没有收到返回消息,则休眠,等待下一次发送时间,在下一次发送时间到达时再次发送更新请求给组播组,如此循环往复,直至收到控制中心的返回消息。
图7为本发明实施例的终端软件的更新过程中控制中心监听过程的流程图。控制中心具有监听功能,可以通过运行监听程序监听组播组转发的终端软件更新请求,一旦收到组播组转发的终端软件更新请求,则返回应答消息,如果未收到则继续监听。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的终端软件的更新装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本申请可以应用于计算机***/服务器,其可与众多其它通用或专用计算***环境或配置一起操作。适于与计算机***/服务器一起使用的众所周知的计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***﹑大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
计算机***/服务器可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
本发明还公开了A1、一种终端软件的更新方法,包括:
获取目标组播地址;所述组播地址对应的组播组中,包括控制中心的主机地址;
向所述组播地址发送终端软件的更新请求;
当收到所述控制中心响应所述终端软件的更新请求时,终端***获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接;
终端***通过所述点对点连接接收控制中心下发的更新数据,并利用所述更新数据对终端软件进行更新。
A2、如A1所述的方法,所述向所述组播地址发送终端软件的更新请求,包括:
通过在终端***中部署终端呼叫程序EntCall,定时向所述组播地址发送终端软件的更新请求。
A3、如A1或A2所述的方法,所述向所述组播地址发送终端软件的更新请求,包括:
向所述组播地址发送包含所述终端软件的当前状态信息的更新请求。
A4、如A1-A3任一项所述的方法,所述向所述组播地址发送终端软件的更新请求,包括:
向所述组播地址发送经过加密的终端软件的更新请求。
A5、如A1-A4任一项所述的方法,所述当收到所述控制中心响应所述终端软件的更新请求时,终端***获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接,包括:
终端***接收所述控制中心响应所述终端软件的更新请求的加密响应消息,并对所述加密响应消息进行解密;
终端***根据解密后的结果获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接。
A6、如A1-A5任一项所述的方法,所述终端***通过所述点对点连接接收控制中心下发的更新数据,并利用所述更新数据对终端软件进行更新,包括:
终端***通过所述点对点连接接收控制中心下发的更新工具以及更新配置,并利用所述更新工具以及更新配置,将终端软件从个人版更新为企业用户版。
A7、如A1-A6任一项所述的方法,还包括:
根据所述组播地址,将所述控制中心的主机地址注册到所述组播组中。
A8、如A7所述的方法,所述根据所述组播地址,将所述控制中心的主机地址注册到所述组播组中,包括:
根据所述组播地址,将两个以上的所述控制中心的主机地址注册到所述组播组中。
本发明还公开了B9、一种终端软件的更新装置,包括:
组播地址获取单元,用于获取目标组播地址;所述组播地址对应的组播组中,包括控制中心的主机地址;
请求发送单元,用于向所述组播地址发送终端软件的更新请求;
连接建立单元,位于终端***中,用于当收到所述控制中心响应所述终端软件的更新请求时,获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接;
更新单元,位于终端***中,用于通过所述点对点连接接收控制中心下发的更新数据,并利用所述更新数据对终端软件进行更新。
B10、如B9所述的装置,所述请求发送单元,包括:
第一请求发送子单元,通过在终端***中部署终端呼叫程序EntCall,定时向所述组播地址发送终端软件的更新请求。
B11、如B9或B10所述的装置,所述请求发送单元,包括:
第二请求发送子单元,用于向所述组播地址发送包含所述终端软件的当前状态信息的更新请求。
B12、如B9-B11任一项所述的装置,所述请求发送单元,包括:
第三请求发送子单元,用于向所述组播地址发送经过加密的终端软件的更新请求。
B13、如B9-B12任一项所述的装置,所述连接建立单元,包括:
连接建立子单元,位于终端***中,用于接收所述控制中心响应所述终端软件的更新请求的加密响应消息,并对所述加密响应消息进行解密;以及根据解密后的结果获取控制中心的地址,并根据所述控制中心的地址与所述控制中心建立点对点连接。
B14、如B9-B13任一项所述的装置,所述更新单元,包括:
更新子单元,用于通过所述点对点连接接收控制中心下发的更新工具以及更新配置,并利用所述更新工具以及更新配置,将终端软件从个人版更新为企业用户版。
B15、如B9-B14任一项所述的装置,还包括:
注册单元,用于根据所述组播地址,将所述控制中心的主机地址注册到所述组播组中。
B16、如B15所述的装置,所述注册单元,具体用于:
根据所述组播地址,将两个以上的所述控制中心的主机地址注册到所述组播组中。
本发明还公开了C17、一种终端软件的更新***,包括客户端以及服务器端;
其中所述客户端包括B9-B14任一项所述的装置;
所述服务器端包括:
注册单元,用于根据所述组播地址,将所述控制中心的一个或一个以上主机地址注册到所述组播组中;
监听单元,用于监听和接收所述组播组转发的所述终端软件的更新请求;
更新数据发送单元,用于通过所述服务器端与所述客户端建立的点对点连接,通过所述点对点连接向所述客户端发送终端软件的更新数据。