1.本发明的实施例涉及通信领域,尤其涉及一种秘钥更新方法及设备。
背景技术:2.在网路协议电视(英文:internet protocol television,iptv)系统中,电子节目指南(electrical program guide,epg)服务器通常使用秘钥对资源请求包加密,并通过用户终端将加密后的资源请求包发送至内容分发网络(content delivery network,cdn)服务器。在接收到的资源请求包后,cdn服务器利用秘钥进行解密,以确定本次访问的合法性。为了防止因长时间使用同一秘钥导致的秘钥泄露问题,需要对秘钥进行定期更新。
3.现有技术中,通常是网络管理人员对cdn服务器和epg服务器中的秘钥分别进行人工更新。这样,不仅更新效率低下;而且可能会出现由于cdn服务器和epg服务器中秘钥的更新不同步而导致访问不成功的问题。
技术实现要素:4.本发明提供一种秘钥更新方法及设备,能够提高秘钥的更新效率,并同时解决cdn服务器和epg服务器中秘钥的更新不同步而导致访问不成功的问题。
5.为达到上述目的,本发明采用如下技术方案:
6.第一方面,提供一种秘钥更新方法,该方法包括:管理设备首先通过第一接口接收来自第一服务器的秘钥更新请求;秘钥更新请求携带第一服务器的标识;第一服务器为电子节目菜单epg服务器或者内容分发网络cdn服务器。之后,根据秘钥更新请求生成更新的统一资源定位系统url列表;其中,url列表用于表征为第一服务器分配的秘钥信息。最后,基于第一服务器的标识,通过第一接口将更新的url列表发送至第一服务器。
7.基于上述方法,第一服务器采用第一接口与管理设备进行信息传输,因此,当存在多个第一服务器同时向管理设备请求同一秘钥更新时,管理设备可将生成的更新的url列表直接统一点击发布至该多个第一服务器,无需再为每个第一服务器单独匹配接口信息,从而减少管理设备的工作量,提高其工作效率。另外,通过管理设备管理秘钥的更新工作,减少了epg服务器或者cdn服务器的工作压力。此外,管理设备将更新的url列表发送至cdn服务器或者epg服务器,对比于现有的人工更新,不仅能够提高秘钥的更新效率。同时,解决了cdn服务器和epg服务器中秘钥的更新不同步而导致访问不成功的问题。
8.第二方面,提供一种管理设备,该设备包括:
9.接收单元,用于通过第一接口接收来自第一服务器的秘钥更新请求;秘钥更新请求携带第一服务器的标识;第一服务器为电子节目菜单epg服务器或者内容分发网络cdn服务器。
10.处理单元,用于根据接收单元接收的秘钥更新请求生成更新的统一资源定位系统url列表;url列表用于表征为第一服务器分配的秘钥信息。
11.发送单元,用于基于第一服务器的标识,通过第一接口将处理单元生成的更新的
url列表发送至第一服务器。
12.可以理解地,上述提供的管理设备用于执行上文所提供的第一方面对应的方法,因此,其所能达到的有益效果可参考上文第一方面对应的方法以及下文具体实施方式中对应的方案的有益效果,此处不再赘述。
13.第三方面,提供了一种管理设备,该管理设备的结构中包括处理器,处理器用于执行程序指令,使得该管理设备执行第一方面的方法。
14.第四方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当计算机程序代码在管理设备上运行时,使得该管理设备执行上述第一方面的方法。
15.第五方面,提供一种计算机程序产品,该计算机程序产品储存有上述计算机软件指令,当计算机软件指令在管理设备上运行时,使得该管理设备执行如上述第一方面的方法的程序。
附图说明
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.图1为本发明实施例提供的一种秘钥更新方法的应用场景示意图;
18.图2为本发明的实施例提供的一种通信装置的结构示意图;
19.图3为本发明实施例提供的一种秘钥更新方法的流程示意图之一;
20.图4为本发明实施例提供的一种秘钥更新方法的流程示意图之二;
21.图5为本发明实施例提供的一种秘钥更新方法的流程示意图之三;
22.图6为本发明实施例提供的一种秘钥更新方法的流程示意图之四;
23.图7为本发明实施例提供的一种管理设备的结构示意图。
具体实施方式
24.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
25.需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
26.还需要说明的是,本发明实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
27.在本申请的实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,
“
多个”的含义是两个或两个以上。
28.为了更清楚的理解本申请实施例提供的一种配电网的优化方法,下面对本申请实施例涉及到的技术要素进行简单说明。
29.由于现有技术中,通常是网络管理人员对cdn服务器和epg服务器中的秘钥分别进行人工更新。这样,不仅更新效率低下;而且可能会出现由于cdn服务器和epg服务器中秘钥的更新不同步而导致访问不成功的问题。因此,本申请实施例提供一种秘钥更新方法,已解决上述问题。
30.如图1所示,提供了一种秘钥更新方法的应用场景示意图,包括第一服务器和管理设备21。其中,第一服务器可以是图1中的cdn服务器11或者epg服务器12。管理设备21可以是实体服务器或者云服务器。本申请对管理设备的形态不作任何限定。
31.这里,本发明实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
32.可选的,本申请实施例所提及的装置,例如管理设备或者第一服务器,均可以由图2所示的通信装置20来实现。
33.如图2所示,该装置20包括至少一个处理器201,通信线路202,存储器203以及至少一个通信接口204。
34.处理器201可以是一个通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application
‑
specific integrated circuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。
35.通信线路202可包括一通路,在上述组件之间传送信息。
36.通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
37.存储器203可以是只读存储器(read
‑
only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read
‑
only memory,eeprom)、只读光盘(compact disc read
‑
only memory,cd
‑
rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路202与处理器相连接。存储器也可以和处理器集成在一起。
38.其中,存储器203用于存储执行本申请方案的计算机执行指令,并由处理器201来控制执行。处理器201用于执行存储器203中存储的计算机执行指令,从而实现本申请下述实施例提供的秘钥更新方法。
39.可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
40.在具体实现中,作为一种实施例,处理器201可以包括一个或多个cpu,例如图2中
的cpu0和cpu1。
41.在具体实现中,作为一种实施例,装置200可以包括多个处理器,例如图2中的处理器201和处理器207。这些处理器中的每一个可以是一个单核(single
‑
cpu)处理器,也可以是一个多核(multi
‑
cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
42.在具体实现中,作为一种实施例,装置200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,lcd),发光二级管(light emitting diode,led)显示设备,阴极射线管(cathode ray tube,crt)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。
43.下面结合图1、图2,对本申请实施例提供的一种秘钥更新方法进行具体阐述。
44.在本申请实施例提供的秘钥更新方法中,第一服务器可以向管理设备请求获取更新的秘钥;之后,管理设备该请求生成包含有更新的url列表,并将其发送至第一服务器,以实现第一服务器基于更新的url列表对当前的url列表进行更新。
45.参照图3,本申请实施例提供的一种秘钥更新方法具体包括以下步骤:
46.s301、管理设备通过第一接口接收来自第一服务器的秘钥更新请求。
47.其中,秘钥更新请求携带第一服务器的标识;第一服务器为电子节目菜单epg服务器或者内容分发网络cdn服务器。
48.需要说明的是,在预设区域范围内,需要在同一时间实现秘钥更新的epg服务器和cdn服务器,均可作为第一服务器向管理设备发送秘钥更新请求,以获取更新的url列表。
49.示例性的,第一服务器的标识可以是epg服务器或者cdn服务器的ip地址。如:1号epg服务器的ip地址可以是:10.10.10.100;1号cdn服务器的ip地址可以是:10.10.10.200;2号cdn服务器的ip地址可以是:10.10.10.210。
50.另外,管理设备可以同时接收一个或多个第一服务器的秘钥更新请求。这里,多个第一服务器的类型包括epg服务器和cdn服务器中的一种或两种。
51.进一步的,秘钥更新请求中还可以携带第一服务器的当前的url列表。这样,管理设备在生成更新的url列表时,无需调用自身数据库中存储的关于第一服务器所使用的当前的url列表,从而减少管理设备的工作量。
52.s302、管理设备根据秘钥更新请求生成更新的统一资源定位系统url列表。
53.其中,url列表用于表征为第一服务器分配的秘钥信息。
54.示例性的,第一服务器的url列表包括以下参数:{"password":"xxx","version":"xx","versionstarttime":"xxxxx","oldversion":"x","oldexpiresdate":"xxxxx"}。其中,https://10.10.10.100:80表示第一服务器的ip地址;password表示新秘钥;version表示新秘钥的版本号;versionstarttime表示新秘钥的创建时间;oldversion表示上一个秘钥的版本号;oldexpiresdate表示上一个秘钥的过期时间。进一步的,url列表还可以包括code以及reason。其中,code为回复状态码,用于表示成功或其他。如,成功是200,其他数据表示不成功。reason为状态码描述。如,成功是“ok”,如果其他,可以在这里描述原因。
55.需要说明的是,上一个秘钥为在新秘钥之前使用的秘钥。当url列表为当前的url列表的情况下,上述的新秘钥即为当前秘钥,上述的上一个秘钥即为过期秘钥。当url列表为更新的url列表的情况下,上述的新秘钥即为更新第一服务器即将使用的更新秘钥;上一个秘钥即为当前秘钥,换言之,该上一个秘钥即为在第一服务器更新成功后,变为过期秘钥。
56.s303、管理设备基于第一服务器的标识,通过第一接口将更新的url列表发送至第一服务器。
57.需要说明的是,无论是当前的url列表或是更新的url列表的形式均可参照上一示例的形式,只需要将具体的内容进行替换即可。如将versionstarttime":"xxxxx"中的xxxxx更换为每种类型的url列表对应的实际的新秘钥的创建时间。例如,{"password":"123","version":"1","versionstarttime":"20190512t120000.000z","oldversion":"0","oldexpiresdate":"20190513t120000.000z"}。
58.基于上述方法,第一服务器采用第一接口与管理设备进行信息传输,因此,当存在多个第一服务器同时向管理设备请求同一秘钥更新时,管理设备可将生成的更新的url列表直接统一点击发布至该多个第一服务器,无需再为每个第一服务器单独匹配接口信息,从而减少管理设备的工作量,提高其工作效率。另外,通过管理设备管理秘钥的更新工作,减少了epg服务器或者cdn服务器的工作压力。此外,管理设备将更新的url列表发送至cdn服务器或者epg服务器,对比于现有的人工更新,不仅能够提高秘钥的更新效率。同时,解决了cdn服务器和epg服务器中秘钥的更新不同步而导致访问不成功的问题。
59.在一种实现方式中,结合图3,参照图4,为了实现管理设备与第一服务器的数据交互,需要第一服务器在管理设备中注册,在注册成功后,通知所有的第一服务器采用统一接口与管理设备进行数据交互。因此,在s301之前,还包括以下步骤:
60.s301a、管理设备接收第一服务器发送的注册请求。
61.其中注册请求携带第一服务器的标识以及第一服务器的当前的url列表。
62.需要说明的是,第一服务器的标识参照上述对该第一服务器的标识的示例性说明,此处不再赘述。
63.s301b、管理设备根据注册请求,执行第一服务器的注册。
64.需要说明的是,可将预设范围内的所有cdn服务器和epg服务器都在管理设备中进行注册认证,在认证通过后,管理设备对该预设范围内的所有cdn服务器和epg服务器的秘钥进行统一管理以及更新。
65.s301c、在确定第一服务器注册成功的情况下,管理设备存储第一服务器的当前的url列表,并将第一接口的信息发送至第一服务器。
66.其中,第一接口为在第一服务器注册成功后,第一服务器与管理设备的数据交互接口。
67.通过本实现方式,使第一服务器在管理设备中进行注册,并在注册成功后,将关于第一服务器所使用的当前的url列表进行存储,以便第一服务器将相关数据丢失时,能够重新快速获取当前的url列表,无需更新当前的url列表,减少与该第一服务器之间使用相同秘钥进行通信的其他设备秘钥更新次数。另外,在需要对第一服务器的秘钥进行更新时,当第一服务器所发送的秘钥更新请求中未携带当前的url列表的情况时,能够快速获取当前
的url列表。此外,考虑到在秘钥更新时,需要在预设时刻向管理设备发送秘钥更新请求的第一服务器为多个的情况下,将第一接口作为第一服务器与管理设备的数据交互接口,能够实现管理设备对更新的url列表的统一下发,从而降低管理设备的工作量。
68.在一种实现方式中,结合图3,参照图5,考虑到若在管理设备中已注册存在有与第一服务器具备对应关系的第二服务器时,即使第二服务器未向管理设备发送秘钥更新请求的情况下,管理设备也可以选择将更新的url列表发送至第二服务器。因此,在管理设备已注册与第一服务器对应的第二服务器的情况下,s302之后还包括以下步骤:
69.s3021、管理设备根据第一服务器的标识,提取第二服务器的标识。
70.示例性的,第二服务器的标识也可以是epg服务器或者cdn服务器的ip地址。如:1号epg服务器的ip地址可以是:10.10.10.100;1号cdn服务器的ip地址可以是:10.10.10.200;2号cdn服务器的ip地址可以是:10.10.10.210。
71.s3022、管理设备基于第二服务器的标识,通过第一接口将更新的url列表发送至第二服务器。
72.需要说明的是,关于更新的url列表的说明参照上述,此处不再赘述。
73.进一步的,在预设范围内,需要在同一时间更新同一秘钥信息的epg服务器和cdn服务器,均在管理设备中注册,并建立其对应关系。并且,在这些epg服务器和cdn服务器中选取任意一个或多个,作为第一服务器向管理设备发送秘钥更新请求,管理设备根据记载的对应关系,确定与第一服务器存在对应关系,且未向管理设备发送秘钥更新请求的服务器作为第二服务器。之后,将更新的url列表发送至第二服务器。
74.在本实现方式中,通过将第一服务器所申请获取的更新的url列表,同时发送至在管理设备中注册有与第一服务器具备对应关系的第二服务器。避免了在第二服务器可能因故障,未向管理设备发送秘钥更新请求时,能够准时向第二服务器发布更新的url列表。另外,还可通过在所有需要同时获取更新的秘钥信息的服务器,且在管理设备中存在对应关系的服务器中选取其中的一个或多个,作为第一服务器,向管理设备发送秘钥更新请求。管理设备基于秘钥更新请求,生成更新的url列表,并将对应的url列表同时反馈至所有需要同时获取更新的秘钥信息的服务器。从而降低了部分服务器(即第二服务器)的工作量。
75.在一种实现方式中,结合图3,参照图6,s302具体包括以下步骤:
76.s302a、管理设备根据秘钥更新请求,提取第一服务器的当前的url列表中当前秘钥的版本号。
77.s302b、管理设备确定当前秘钥的版本号对应的当前秘钥的过期时间。
78.s302c、管理设备生成更新秘钥、更新秘钥的版本号以及更新秘钥的启用时间。
79.其中,当前秘钥的过期时间在更新秘钥的启用时间之后。
80.示例性的,将更新秘钥的启用时间设置早于当前秘钥的过期时间,即使未能同步的情况下,也能够在更新秘钥的启用时间至当前秘钥的过期时间,为更新失败的服务器争取到纠错的缓冲时间,保证在该段缓冲时间内的业务能够正常使用。比如,更新秘钥的启用时间为20201026的0点,当前秘钥的过期时间为20201027的24点。若epg服务器更新成功,cdn服务器在更新时发生故障或其他原因无法更新,而epg服务器已经从20201026的0点开始使用更新秘钥,cdn服务器假若由于某种原因未能同步,在20201027的24点之前依然可以使用当前秘钥,以保证秘钥更新过程的平滑过渡。并且在20201026的0点
‑
20201027的24点
的缓冲时间段内,cdn服务器会根据预设周期一直尝试更新,直至在该缓冲时间段内更新成功。若超过了当前秘钥的过期时间20201027的24点,还未更新成功,则设为异常,通知人工更新。
81.s302d、管理设备基于当前秘钥的版本号、当前秘钥的过期时间、更新秘钥、更新秘钥的版本号以及更新秘钥的启用时间,生成更新的url列表。
82.示例性的,将更新的url列表对应发送至服务器的标识为10.10.10.100的epg服务器,具体形式如https://10.10.10.100/epg/updateauthinfopassword?param={"password":"456","version":"2","versionstarttime:"20190513t120000.000z","oldversion":"0","oldexpiresdat e":"20190514t120000.000z"}。
83.在本实现方式中,通过将更新秘钥的启用时间以及当前秘钥的过期时间均加入到更新的url列表,使第一服务器明确各个秘钥的使用时间。另外,通过将将更新秘钥的启用时间设置早于当前秘钥的过期时间,即使未能同步的情况下,也能够在更新秘钥的启用时间至当前秘钥的过期时间,更新失败的服务器能够在该段时间内依然可以使用当前秘钥,解决在该段时间内由于cdn服务器和epg服务器中秘钥的更新不同步而导致访问不成功的问题。并且为更新失败的服务器争取到纠错的缓冲时间。
84.本发明实施例可以根据上述方法实施例对管理设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
85.如图7所示,为本发明实施例提供的一种管理设备21的结构示意图,该管理设备21具体包括接收单元701、处理单元702以及发送单元703。
86.接收单元701,用于通过第一接口接收来自第一服务器的秘钥更新请求;秘钥更新请求携带第一服务器的标识;第一服务器为电子节目菜单epg服务器或者内容分发网络cdn服务器。结合图3,该接收单元701可以用于执行步骤s301。
87.处理单元702,用于根据接收单元701接收的秘钥更新请求生成更新的统一资源定位系统url列表;url列表用于表征为第一服务器分配的秘钥信息。结合图3,该处理单元702可以用于执行步骤s302。
88.发送单元703,用于基于第一服务器的标识,通过第一接口将处理单元702生成的更新的url列表发送至第一服务器。结合图3,该发送单元703可以用于执行步骤s303。
89.在一种示例性的方案中,接收单元701,还用于接收第一服务器发送的注册请求;其中注册请求携带第一服务器的标识以及第一服务器的当前的url列表。结合图4,该接收单元701可以用于执行步骤s301a。
90.处理单元702,用于根据接收单元701接收的注册请求,执行第一服务器的注册。结合图4,该处理单元702可以用于执行步骤s301b。
91.处理单元702,还用于在确定第一服务器注册成功的情况下,存储接收单元701接收的第一服务器的当前的url列表。结合图4,该处理单元702可以用于执行步骤s301c。
92.发送单元703,还用于将第一接口的信息发送至第一服务器;其中第一接口为在第一服务器注册成功后,第一服务器与管理设备的数据交互接口。结合图4,该处理单元702可
以用于执行步骤s301c。
93.在一种示例性的方案中,在管理设备中已注册与第一服务器对应的第二服务器的情况下,处理单元702,具体用于根据接收单元701接收的第一服务器的标识,提取第二服务器的标识。结合图5,该处理单元702可以用于执行步骤s3021。
94.发送单元703,用于基于第二服务器的标识,通过第一接口将处理单元702生成的更新的url列表发送至第二服务器。结合图5,该发送单元703可以用于执行步骤s3022。
95.在一种示例性的方案中,处理单元702,用于根据接收单元701接收的秘钥更新请求,提取第一服务器的当前的url列表中当前秘钥的版本号。结合图6,该处理单元702可以用于执行步骤s302a。
96.处理单元702,还用于确定当前秘钥的版本号对应的当前秘钥的过期时间。结合图6,该处理单元702可以用于执行步骤s302b。
97.处理单元702,还用于生成更新秘钥、更新秘钥的版本号以及更新秘钥的启用时间。结合图6,该处理单元702可以用于执行步骤s302c。
98.处理单元702,还用于基于当前秘钥的版本号、当前秘钥的过期时间、更新秘钥、更新秘钥的版本号以及更新秘钥的启用时间,生成更新的url列表。结合图6,该处理单元702可以用于执行步骤s302d。
99.在一种示例性的方案中,当前秘钥的过期时间在更新秘钥的启用时间之后。
100.当然,本发明实施例提供的管理设备21包括但不限于上述模块,例如管理设备21还可以包括存储单元704。其中,存储单元704可以用于存储该管理设备21的程序代码,还可以用于存储管理设备21在运行过程中生成的数据,如写请求中的数据等。
101.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。