发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种基于UUID的广告机连接实现方法及系统,旨在解决现有技术中控制端与广告机通讯时连接数目受限,通信实时性不高,数据传输并不稳定可靠及并发性能较差的缺陷。
本发明的技术方案如下:
一种基于UUID的广告机连接实现方法,其中,包括步骤:
当控制端与服务器建立新连接并向指定UUID的广告机发送广告数据时,则服务器获取与该新连接对应的第一连接UUID,并在连接UUID映射表中查询是否存在与所述第一连接UUID绑定的第二连接UUID;
当不存在时,则服务器与所述广告机建立新连接并分配对应的第二连接UUID,再将所述第一连接UUID及所述第二连接UUID绑定后存储至连接UUID映射表中,并通过所述第一连接UUID对应的链路及所述第二连接UUID对应的链路将所述广告数据发送至所述广告机。
所述基于UUID的广告机连接实现方法,其中,所述当不存在时,则服务器与所述广告机建立新连接并分配对应的第二连接UUID,再将所述第一连接UUID及所述第二连接UUID绑定后存储至连接UUID映射表中,并通过所述第一连接UUID对应的链路及所述第二连接UUID对应的链路将所述广告数据发送至所述广告机的步骤具体包括:
当在所述连接UUID映射表中不存在与所述第一连接UUID绑定的第二连接UUID时,则服务器通过与广告机的长连接向所述广告机发送与服务器创建新连接的通知消息;
所述广告机接收所述通知消息,并与服务器建立新连接;
当与服务器建立新连接成功时,则服务器获取与所述广告机连接建立连接而分配的第二连接UUID;
将所述第一连接UUID及所述第二连接UUID绑定,并添加存储至服务器中已存储连接UUID映射表;
控制端通过所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路,将所述广告数据发送至所述广告机。
所述基于UUID的广告机连接实现方法,其中,还包括:
当在所述连接UUID映射表中存在与所述第一连接UUID绑定的第二连接UUID时,则控制端通过所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路,将所述广告数据发送至所述广告机。
所述基于UUID的广告机连接实现方法,其中,还包括:
当检测到所述第一连接UUID对应的链路断开时,则在连接UUID映射表中查询是否存在与所述第一连接UUID绑定的第二连接UUID,存在时则断开所述第二连接UUID对应的链路,并将所述第一连接UUID及所述第二连接UUID从所述连接UUID映射表中删除。
所述基于UUID的广告机连接实现方法,其中,所述服务器与所述广告机、及与所述控制端均保持长连接,并通过长连接向所述广告机和/或所述控制端发送建立新连接的通知消息。
一种基于UUID的广告机连接实现系统,其中,包括:
查询模块,用于当控制端与服务器建立新连接并向指定UUID的广告机发送广告数据时,则服务器获取与该新连接对应的第一连接UUID,并在连接UUID映射表中查询是否存在与所述第一连接UUID绑定的第二连接UUID;
第一控制模块,用于当不存在时,则服务器与所述广告机建立新连接并分配对应的第二连接UUID,再将所述第一连接UUID及所述第二连接UUID绑定后存储至连接UUID映射表中,并通过所述第一连接UUID对应的链路及所述第二连接UUID对应的链路将所述广告数据发送至所述广告机。
所述基于UUID的广告机连接实现系统,其中,所述第一控制模块具体包括:
通知消息发送单元,用于当在所述连接UUID映射表中不存在与所述第一连接UUID绑定的第二连接UUID时,则服务器通过与广告机的长连接向所述广告机发送与服务器创建新连接的通知消息;
新连接建立单元,用于所述广告机接收所述通知消息,并与服务器建立新连接;
识别码获取单元,用于当与服务器建立新连接成功时,则服务器获取与所述广告机连接建立连接而分配的第二连接UUID;
存储单元,用于将所述第一连接UUID及所述第二连接UUID绑定,并添加存储至服务器中已存储连接UUID映射表;
广告数据发送单元,用于控制端通过所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路,将所述广告数据发送至所述广告机。
所述基于UUID的广告机连接实现系统,其中,还包括:
第二控制模块,用于当在所述连接UUID映射表中存在与所述第一连接UUID绑定的第二连接UUID时,则控制端通过所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路,将所述广告数据发送至所述广告机。
所述基于UUID的广告机连接实现系统,其中,还包括:
第三控制模块,用于当检测到所述第一连接UUID对应的链路断开时,则在连接UUID映射表中查询是否存在与所述第一连接UUID绑定的第二连接UUID,存在时则断开所述第二连接UUID对应的链路,并将所述第一连接UUID及所述第二连接UUID从所述连接UUID映射表中删除。
所述基于UUID的广告机连接实现系统,其中,所述服务器与所述广告机、及与所述控制端均保持长连接,并通过长连接向所述广告机和/或所述控制端发送建立新连接的通知消息。
有益效果:本发明通过给广告机与服务器的每一个连接分配一个第一连接UUID,给控制端与服务器的每一个连接分配一个第二连接UUID,并通过服务器中存储的连接UUID映射表关联控制端与广告机的连接,使广告机与控制端的连接数目不受限制,通信实时性高,传输数据稳定可靠,并发性能好。
具体实施方式
本发明提供一种基于UUID的广告机连接实现方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,图1是本发明所述基于UUID的广告机连接实现方法较佳实施例的流程图。如图1所示,其包括以下步骤:
S101、当控制端与服务器建立新连接并向指定UUID的广告机发送广告数据时,则服务器获取与该新连接对应的第一连接UUID,并在连接UUID映射表中查询是否存在与所述第一连接UUID绑定的第二连接UUID。
本实施例中,在服务器中的连接UUID映射表中以哈希表的形式存储了多对相互绑定的第一连接UUID及第二连接UUID。也就是只要有控制端及广告机与服务器均建立过新连接,并通过新连接对应链路传输广告数据时,所述连接UUID映射表则存储有服务器与控制端建立新连接而分配的第一连接UUID、及服务器与广告机建立新连接而分配的第二连接UUID,且所述第一连接UUID与所述第二连接UUID一一对应。其中,UUID(Universally Unique Identifier)即通用唯一识别码的简称。。
例如,控制端1与服务器建立新连接而分配第一连接UUID1,广告机1与服务器建立新连接而分配第二连接UUID1;控制端2与服务器建立新连接而分配第一连接UUID2,广告机2与服务器建立新连接而分配第二连接UUID2;……;控制端N与服务器建立新连接而分配第一连接UUIDN,广告机N与服务器建立新连接而分配第二连接UUIDN;其中,N为任意正整数。故所述服务器中存储的连接UUID映射表如表1所示:
第一连接UUID |
第二连接UUID |
第一连接UUID1 |
第二连接UUID1 |
第一连接UUID2 |
第二连接UUID2 |
第一连接UUID3 |
第二连接UUID3 |
…… |
…… |
第一连接UUIDN |
第二连接UUIDN |
表1
其中,第一连接UUID1与所述第二连接UUID1绑定,第一连接UUID2与所述第二连接UUID2绑定,以此类推,第一连接UUIDN与所述第二连接UUIDN绑定。也就是说,控制端N通过第一连接UUIDN对应链路发送至服务器的广告数据,都必须通过第二连接UUIDN对应链路发送至广告机N;而且,广告机N通过第二连接UUIDN对应链路返回至服务器的广告数据,都必须通过第一连接UUIDN对应链路发送至控制端N。第一连接UUID1至第一连接UUIDN,及第二连接UUID1至第二连接UUIDN均以键值存储在哈希表形式的连接UUID映射表中,确保了每一键值可被高效的查找。
由于每两个绑定的连接都相当于一个独立的链路,即使它们之间有耗时的传输任务,也不会影响其他连接对应链路的数据传输,故通过这种方式进行广告数据传输是稳定可靠的。
S102、当不存在时,则服务器与所述广告机建立新连接并分配对应的第二连接UUID,再将所述第一连接UUID及所述第二连接UUID绑定后存储至连接UUID映射表中,并通过所述第一连接UUID对应的链路及所述第二连接UUID对应的链路将所述广告数据发送至所述广告机。
显然,当从服务器中已存储的连接UUID映射表中查询不到与所述第一连接UUID绑定的第二连接UUID时,则说明第二连接UUID对应的链路不存在,或者是所述第一连接UUID对应的链路及所述第二连接UUID对应的链路已断开、且从连接UUID映射表中删除绑定且不再保存。
此时,服务器与所述广告机建立新连接,并获取与所述广告机连接建立新连接而分配的第二连接UUID。通过上述方式重新建立了所述第一连接UUID对应的链路及所述第二连接UUID对应的链路,恢复了广告数据的传输。在重新建立链路的过程中,将所述第一连接UUID及所述第二连接UUID绑定后添加存储至连接UUID映射表中。
作为本发明更优选的实施例,如图2所示,所述的步骤S102具体包括:
S201、当在所述连接UUID映射表中不存在与所述第一连接UUID绑定的第二连接UUID时,则服务器通过与广告机的长连接向所述广告机发送与服务器创建新连接的通知消息。
S202、所述广告机接收所述通知消息,并与服务器建立新连接。
S203、当与服务器建立新连接成功时,则服务器获取与所述广告机连接建立连接而分配的第二连接UUID。
S204、将所述第一连接UUID及所述第二连接UUID绑定,并添加存储至服务器中已存储连接UUID映射表。
S205、控制端通过所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路,将所述广告数据发送至所述广告机。
本实施例中,所述服务器与所述广告机、及与所述控制端均保持长连接,并通过长连接向所述广告机和/或所述控制端发送建立新连接的通知消息。可见,服务器与控制端的长连接、及服务器与广告机的长连接只负责传输建立新连接的通知消息,而不需要通过长连接传输广告数据,不会导致长连接的数据阻塞或数据传输失败,提高了广告数据传输的可靠性。
进一步的,所述基于UUID的广告机连接实现方法还包括:
S103、当在所述连接UUID映射表中存在与所述第一连接UUID绑定的第二连接UUID时,则控制端通过所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路,将所述广告数据发送至所述广告机。
显然,当在所述连接UUID映射表中查询得到与所述第一连接UUID绑定的第二连接UUID时,则说明所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路并未断开,控制端可通过上述链路将广告数据发送至广告机,且广告机可通过上述链路返回数据至控制端。
进一步的,所述基于UUID的广告机连接实现方法还包括:
S104、当检测到所述第一连接UUID对应的链路断开时,则在连接UUID映射表中查询是否存在与所述第一连接UUID绑定的第二连接UUID,存在时则断开所述第二连接UUID对应的链路,并将所述第一连接UUID及所述第二连接UUID从所述连接UUID映射表中删除。
控制端或广告机在任何时候想要关闭一个没用的链路,只需关闭自己与服务器的连接就可以了。连接UUID映射表中每对绑定的连接可以在一个广告消息传输完成后关闭,也可以被反复使用。
可见,与传统的广告机连接管理方法相比,本发明具有适应网络环境全面,部署简单(只需要部署一个服务器,服务器除端口外不需要进行任何配置),对控制端与广告机的连接数及每个连接传输的数据量无要求,连接及通信稳定可靠的优点。
基于上述方法,本发明还提供一种基于UUID的广告机连接实现系统,如图3所示,其包括:
查询模块100,用于当控制端与服务器建立新连接并向指定UUID的广告机发送广告数据时,则服务器获取与该新连接对应的第一连接UUID,并在连接UUID映射表中查询是否存在与所述第一连接UUID绑定的第二连接UUID;具体如上所述。
第一控制模块200,用于当不存在时,则服务器与所述广告机建立新连接并分配对应的第二连接UUID,再将所述第一连接UUID及所述第二连接UUID绑定后存储至连接UUID映射表中,并通过所述第一连接UUID对应的链路及所述第二连接UUID对应的链路将所述广告数据发送至所述广告机;具体如上所述。
进一步,如图4所示,所述第一控制模块200包括:
通知消息发送单元201,用于当在所述连接UUID映射表中不存在与所述第一连接UUID绑定的第二连接UUID时,则服务器通过与广告机的长连接向所述广告机发送与服务器创建新连接的通知消息;具体如上所述。
新连接建立单元202,用于所述广告机接收所述通知消息,并与服务器建立新连接;具体如上所述。
识别码获取单元203,用于当与服务器建立新连接成功时,则服务器获取与所述广告机连接建立连接而分配的第二连接UUID;具体如上所述。
存储单元204,用于将所述第一连接UUID及所述第二连接UUID绑定,并添加存储至服务器中已存储连接UUID映射表;具体如上所述。
广告数据发送单元205,用于控制端通过所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路,将所述广告数据发送至所述广告机;具体如上所述。
进一步,在所述基于UUID的广告机连接实现系统中,还包括:
第二控制模块,用于当在所述连接UUID映射表中存在与所述第一连接UUID绑定的第二连接UUID时,则控制端通过所述第一连接UUID对应的链路、及所述第二连接UUID对应的链路,将所述广告数据发送至所述广告机;具体如上所述。
进一步,在所述基于UUID的广告机连接实现系统中,还包括:
第三控制模块,用于当检测到所述第一连接UUID对应的链路断开时,则在连接UUID映射表中查询是否存在与所述第一连接UUID绑定的第二连接UUID,存在时则断开所述第二连接UUID对应的链路,并将所述第一连接UUID及所述第二连接UUID从所述连接UUID映射表中删除;具体如上所述。
进一步,在所述的基于UUID的广告机连接实现系统中,所述服务器与所述广告机、及与所述控制端均保持长连接,并通过长连接向所述广告机和/或所述控制端发送建立新连接的通知消息;具体如上所述。
综上所述,本发明通过给广告机与服务器的每一个连接分配一个第一连接UUID,给控制端与服务器的每一个连接分配一个第二连接UUID,并通过服务器中存储的连接UUID映射表关联控制端与广告机的连接,使广告机与控制端的连接数目不受限制,通信实时性高,传输数据稳定可靠,并发性能好。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。