CN109818999B - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN109818999B CN109818999B CN201711172027.9A CN201711172027A CN109818999B CN 109818999 B CN109818999 B CN 109818999B CN 201711172027 A CN201711172027 A CN 201711172027A CN 109818999 B CN109818999 B CN 109818999B
- Authority
- CN
- China
- Prior art keywords
- data transmission
- user
- transmission unit
- data
- chat
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据传输方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收用户的数据请求;在预配置的包括多个数据传输单元的数据传输单元集中为该用户指定数据传输单元,其中,所述指定的数据传输单元获取所述数据,并将所述数据发送给该用户。该实施方式能够减少服务器的负荷,解决服务器宕机问题,提高服务器的可靠性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据传输方法和装置。
背景技术
传统的直播平台的后台架构通常是基于浏览器/服务器模式的,由服务端处理所有的直播业务逻辑,在处理过程中使用服务端的数据库来存储相关数据,直播平台的后台管理人员通过服务器对直播的各个环节进行管理,客户端浏览器将观看直播的请求信息发送到服务端,然后服务端将直播的音视频数据发送给客户端供用户观看。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:传统的直播平台架构是集中式的,在该架构下服务端在同一个服务进程中执行直播数据的传输任务,包括接收直播数据并将直播数据发送给用户,服务器运行负荷较重,当用户量持续增长,单台服务器无法支撑的时候,容易发生服务器宕机等问题,服务器的可靠性较低。
因此,亟需一种能够减少服务器的负荷,解决服务器宕机问题,提高服务器的可靠性的数据传输方法。
发明内容
有鉴于此,本发明实施例提供一种数据传输方法,能够减少服务器的负荷,解决服务器宕机问题,提高服务器的可靠性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据传输方法,包括:
相应用户的数据请求,在预配置的包括多个数据传输单元的数据传输单元集中为该用户指定数据传输单元;
所述指定的数据传输单元获取该用户请求的数据,并将所述数据发送给该用户。
进一步的,所述数据传输单元集包括:注册用户数据传输单元子集和非注册用户数据传输单元子集;
所述方法在响应用户的数据请求之前还包括:
接收用户的登陆请求,以获取用户登陆信息;
在预配置的多个登陆验证单元中为该用户指定登陆验证单元,其中,所述指定的登陆验证单元根据所述用户登陆信息确定该用户已注册,则向该用户返回登陆令牌;
所述为该用户指定数据传输单元的步骤包括:
判断所述数据请求中是否包括登陆令牌,若是,则在注册用户数据传输单元子集中为该用户指定数据传输单元,否则在非注册用户数据传输单元子集中为该用户指定数据传输单元。
进一步的,本发明实施例提供的数据传输方法还包括:
所述指定的数据传输单元接收该用户的聊天数据,并根据所述聊天数据确定聊天对象;
若该用户与其聊天对象的数据传输单元相同,则所述数据传输单元将聊天数据发送给该聊天对象,
否则,所述数据传输单元通过消息队列将聊天数据发送给该聊天对象的数据传输单元,以使该聊天对象的数据传输单元将聊天数据发送给该聊天对象。
可选的,在所述为该用户指定数据传输单元的步骤包括:
获取当前数据传输单元集中各数据传输单元的用户量,选择其中用户量低的数据传输单元指定给当前用户;或者
提取当前用户的数据请求中的特征数据,将特征数据转换为哈希值,然后计算该哈希值除以数据传输单元集中数据传输单元的数量的余数值,数据传输单元集中各数据传输单元具有编号,选择编号为该余数值的数据传输单元指定给当前用户。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据传输装置,包括:
第一选择单元和数据传输单元集,所述数据传输单元集包括:多个数据传输单元;
所述第一选择单元用于响应用户的数据请求,然后在所述数据传输单元集中为该用户指定数据传输单元;
所述数据传输单元用于获取该用户请求的数据,并将所述数据发送给该用户。
进一步的,所述数据传输单元集包括:注册用户数据传输单元子集和非注册用户数据传输单元子集;
本发明实施例提供的种数据传输装置还包括:第二选择单元和登陆验证单元集,所述登陆验证单元集包括:多个登陆验证单元;
所述第二选择单元用于接收用户的登陆请求,以获取用户登陆信息,然后在登陆验证单元集中为该用户指定登陆验证单元,
所述登陆验证单元用于根据所述用户登陆信息确定该用户已注册,则向该用户返回登陆令牌;
所述第一选择单元进一步用于判断所述数据请求中是否包括登陆令牌,若是,则在注册用户数据传输单元子集中为该用户指定数据传输单元,否则在非注册用户数据传输单元子集中为该用户指定数据传输单元。
进一步的,所述数据传输单元还用于接收该用户的聊天数据,并根据所述聊天数据确定聊天对象,若该用户与其聊天对象的数据传输单元相同,则所述数据传输单元将聊天数据发送给该聊天对象,否则,所述数据传输单元通过消息队列将聊天数据发送给该聊天对象的数据传输单元,以使该聊天对象的数据传输单元将聊天数据发送给该聊天对象。
可选的,所述第一选择单元进一步用于获取当前数据传输单元集中各数据传输单元的用户量,选择其中用户量低的数据传输单元指定给当前用户;或者,
提取当前用户的数据请求中的特征数据,将特征数据转换为哈希值,然后计算该哈希值除以数据传输单元集中数据传输单元的数量的余数值,数据传输单元集中各数据传输单元具有编号,选择编号为该余数值的数据传输单元指定给当前用户。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据传输电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的数据传输方法。
为实现上述目的,根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例提供的数据传输方法。
本发明实施例提供的数据传输方法和装置,通过将用户分配到多个数据传输单元上,由每个数据传输单元分别处理一部分用户的数据传输,从而减少服务器的负荷,解决服务器宕机问题,提高服务器的可靠性。并且实现对于注册用户和非注册用户采用不同的传输配置,从而有区别的对注册用户和非注册用户提供的不同的直播数据传输服务。同时还实现了同一个数据传输服务器用户之间和不同数据传输服务器用户之间的通讯。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例提供的数据传输方法的主要流程的示意图;
图2是本发明实施例提供的数据传输方法的应用流程的示意图;
图3是本发明实施例提供的数据传输装置的主要模块的示意图;
图4是本发明实施例提供的直播系统的示例性系统架构图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例提供一种数据传输方法,该方法可以应用于直播平台中直播数据的传输,如图1所示,该方法包括:步骤S101至步骤S102。
在步骤S101中,服务端响应该数据请求,在预配置的数据传输单元集中为该用户指定数据传输单元。首先,服务端接收用户的数据请求。在传输直播数据的应用场景中,服务端接收用户通过客户端(例如视频直播的APP或浏览器等)发送来的向直播平台请求直播数据的直播数据请求。在本发明中,直播数据可以包括:直播的视频数据、音频数据、页面数据、观众评论(如弹幕)数据以及用户之间的聊天数据等。在本发明的一种实施方式中,用户可以在登陆直播平台后,选择想要观看的直播(如选择一个直播间),从而向服务端发送请求该直播数据的直播数据请求。
服务端响应该数据请求后,在预配置的数据传输单元集中为该用户指定数据传输单元。在本发明提供的数据传输方法中,预配置有数据传输单元集,数据传输单元集中包括有多个数据传输单元,数据传输单元是分布式部署的,每个数据传输单元可以单独回应客户端的请求,处理面向客户端的数据的传输。在传输直播数据的应用场景中,每个数据传输单元对应有一条直播的观看线路(直播频道)。每个数据传输单元可以部署为一台服务器,多个数据传输单元也可以部署在同一台服务器上,通过IP和端口号进行区分。
在为用户指定数据传输单元后,在步骤S102中,用户的客户端与数据传输单元建立用户数据报协议(User Datagram Protocol,UDP)长连接,指定的数据传输单元获取数据,并将数据发送给该用户。在传输直播数据的应用场景中,向用户持续传输直播的画面和声音,客户端通过数据传输单元对应的观看线路接收到直播数据,从而在客户端进行音视频的解码和播放,从而实现用户对于直播的观看。
在本发明中,数据传输单元从直播后台服务器获取直播数据,其中,直播数据中的音视频信息来自于其提供者的客户端,例如直播的主播客户端,音视频信息经过直播后台服务器实时转码、优化等处理后通过数据传输单元实时传输给用户。
在数据传输单元集中,每个数据传输单元都可以同时为多个用户提供数据传输服务,在用户访问量较大时,将用户分配到多个数据传输单元上,由每个数据传输单元分别处理一部分用户的数据传输,从而减少服务器的负荷,解决服务器宕机问题,提高服务器的可靠性。数据传输单元的数量可以根据用户量进行扩展,以满足访问高峰时,大量用户的数据传输需求。
在本发明中,步骤S101中为用户指定数据传输单元具体包括下述调度步骤,在收到用户的数据请求后,轮询数据传输单元集中各数据传输单元,实时获取当前数据传输单元集中各个数据传输单元的用户量,然后选择数据传输单元集中当前用户量低的数据传输单元指定给当前用户,以使得在大量用户访问时,数据传输单元集中的每一个数据传输单元的用户量基本相同,从而防止由于数据传输单元之间的负载不均衡造成的高负载服务器宕机的情况发生,提高服务器的可靠性。同时,本发明提供的数据传输方法在为用户指定数据传输单元时,还可以实时检测各个数据传输单元的服务器故障状态,在选择数据传输单元时,屏蔽掉故障的服务器。
在本发明的另一种实施方式中,步骤S101中为用户指定数据传输单元还可以具体为:提取用户的数据请求中的特征数据,将特征数据转换为哈希值,然后计算该哈希值除以数据传输单元集中数据传输单元的数量的余数值,数据传输单元集中各数据传输单元具有编号,选择编号为该余数值的数据传输单元指定给用户,从而将数据传输单元随机的指定给用户,使得在大量用户访问时,数据传输单元集中的每一个数据传输单元的用户量基本相同。用户的数据请求中的特征数据可以为用户个人信息,例如,IP地址、昵称、性别和年龄等。
在本发明中,数据传输单元集包括:注册用户数据传输单元子集和非注册用户数据传输单元子集,也就是说在数据传输单元集中,数据传输单元分为提供给注册用户的数据传输单元和提供给非注册用户的数据传输单元,对于两者可以采用不同的传输配置,例如,在传输直播数据的应用场景中,提供给注册用户的数据传输单元在传输视频数据时可以配置为较高的传输码率,以使得注册用户能够观看到延迟较低,且更清晰的视频画面。而对于提供给非注册用户的数据传输单元,在传输视频数据时可以配置为相对较低的传输码率,一方面可以激励非注册用户进行注册,一方面可以节省网络带宽。
如图2所示,本发明实施例提供数据传输方法在接收和响应用户的访问请求之前还包括下述用户登陆步骤:首先,接收用户的登陆请求,登陆请求包括:用户登陆信息。用户登陆信息可以包括:用户名、登陆密码以及验证码等信息。在本发明的一种实施方式中,用户可以在直播平台页面中,点击页面中配置的登陆标签向服务端发送登陆请求。
在收到用户的登陆请求后,在预配置的多个登陆验证单元中为该用户指定登陆验证单元。本发明中预配置有多个登陆验证单元,登陆验证单元是分布式部署的,每个登陆验证单元可以单独回应客户端的登陆请求,对用户进行登陆验证,登陆验证单元的数量可以根据用户量进行扩展,以满足访问高峰时,大量用户的登陆验证需求。
在本发明中,为用户指定登陆验证单元的方式与上述为用户指定数据传输单元的方式基本相同,可以获取当前各个登陆验证单元的用户量,然后选择当前用户量低的登陆验证单元指定给当前用户。或者,提取用户信息的特征数据,通过哈希算法将登陆验证单元随机的指定给用户,使得在大量用户访问时,每一个登陆验证单元的用户量基本相同。从而减少服务器的负荷,解决服务器宕机问题,提高服务器的可靠性。
指定的登陆验证单元根据用户登陆信息判断该用户是否已注册,登陆验证单元根据用户登陆信息在数据库中查询是否存在该用户的注册信息,若存在,则表明该用户已注册,此时向该用户返回登陆令牌,该用户登陆成功。该已登陆的用户在向服务端请求数据时,其数据请求中带有该登陆令牌。
相对应的,步骤S102中为用户指定数据传输单元的步骤具体为:判断数据请求中是否包括登陆令牌,若是,则认定该请求的用户为注册用户,在注册用户数据传输单元子集中为该用户指定数据传输单元,否则认定为非注册用户,在非注册用户数据传输单元子集中为该用户指定数据传输单元,从而有区别的对注册用户和非注册用户提供的不同的数据传输服务。
在本发明的一种实施方式中,服务端在向用户返回登陆令牌后,对该登陆令牌进行记录。服务端收到用户的数据请求,在判断得知数据请求中包括有登陆令牌后,还可以对用户数据请求中的登陆令牌进行验证,判断其是否与服务端记录的登陆令牌一致,若一致,则认定该数据请求的用户为注册用户,否则认定为非注册用户。
在本发明实施例中,在步骤S101为用户指定数据传输单元的步骤之后还包括:记录为用户指定的数据传输单元。在传输直播数据的应用场景中,直播数据中包括用户的聊天数据。聊天发起用户的数据传输单元接收该聊天发起用户的聊天数据,然后查询服务端数据库(例如Redis数据库)获得其中记录的该聊天数据的聊天对象用户的数据传输单元,然后判断聊天对象用户的与聊天发起用户的数据传输单元是否是同一个数据传输单元。若聊天对象用户的与聊天发起用户的数据传输单元相同,则将聊天数据发送给聊天对象用户,例如,数据传输单元中可以配置有网络应用的多用途基础设施(MultipurposeInfrastructure for Network Applications,Mina)框架,通过该框架将聊天数据发送给聊天对象用户。若聊天对象用户的与聊天发起用户的数据传输单元不相同,则通过消息队列将聊天数据发送给聊天对象用户的数据传输单元,以使该聊天对象用户的数据传输单元将聊天数据发送给聊天对象用户。
在传输直播数据的应用场景中,用户的聊天数据的聊天对象可以为一个用户,也可以为观看同一个直播节目所有用户,例如直播平台中位于聊天发起用户所在的直播房间内的所有用户。在观看同一个直播节目的所有用户中,对于其中与聊天发起用户使用同一直播频道的用户,即由同一数据传输单元提供直播数据传输服务的用户,聊天数据由该数据传输单元进行传输。对于其中与聊天发起用户使用不同直播频道的用户,则由聊天发起用户的数据传输单元将聊天数据通过消息队列分别发送给这些用户的数据传输单元,然后由各数据传输单元将聊天数据发送给其对应的用户。
本发明实施例提供的数据传输方法,通过将用户分配到多个数据传输单元上,由每个数据传输单元分别处理一部分用户的数据传输,从而减少服务器的负荷,解决服务器宕机问题,提高服务器的可靠性。并且实现对于注册用户和非注册用户采用不同的传输配置,从而有区别的对注册用户和非注册用户提供的不同的直播数据传输服务。同时还实现了同一个数据传输服务器用户之间和不同数据传输服务器用户之间的通讯。
本发明实施例还提供了一种数据传输装置,如图3所示,该装置300包括:第一选择单元301和数据传输单元集,数据传输单元集包括:多个数据传输单元302。
第一选择单元301用于响应用户的数据请求,然后在数据传输单元集中为该用户指定数据传输单元。数据传输单元302用于获取该用户请求的数据,并将数据发送给该用户。
在本发明实施例中,数据传输单元集包括:注册用户数据传输单元子集和非注册用户数据传输单元子集。
本发明提供的数据传输装置还包括:第二选择单元和登陆验证单元集,登陆验证单元集包括:多个登陆验证单元。
第二选择单元用于接收用户的登陆请求,登陆请求包括:用户登陆信息,然后在登陆验证单元集中为该用户指定登陆验证单元。
登陆验证单元用于根据用户登陆信息判断该用户是否已注册,若是,则向该用户返回登陆令牌。
第一选择单元进一步用于判断数据请求中是否包括登陆令牌,若是,则在注册用户数据传输单元子集中为该用户指定数据传输单元,否则在非注册用户数据传输单元子集中为该用户指定数据传输单元。
本发明提供的数据传输装置还包括:记录单元,用于记录为该用户指定的数据传输单元,其中,聊天发起用户的数据传输单元接收该聊天发起用户的聊天数据,然后查询获得记录的聊天数据的聊天对象用户的数据传输单元,若聊天对象用户的与聊天发起用户的数据传输单元相同,则将聊天数据发送给聊天对象用户,否则通过消息队列将聊天数据发送给聊天对象用户的数据传输单元,以使该聊天对象用户的数据传输单元将聊天数据发送给聊天对象用户。
在本发明实施例中,第一选择单元进一步用于获取当前数据传输单元集中各数据传输单元的用户量,然后选择其中用户量低的数据传输单元指定给当前用户。
结合视频直播的应用场景,基于本发明实施例提供的数据传输装置,本发明还提供一种直播系统,如图4所示,在该系统中,第一选择单元的功能可以由Linux虚拟服务器(Linux Virtual Server,LVS)实现。该直播系统中分布式的配置有N个频道服务ChannelService模块,即本发明上述实施例中的数据传输单元,N个登陆服务LoginServer模块,即本发明上述实施例中的登录验证单元,N个逻辑服务LogicService模块以及N个日志服务LogService模块。
第一选择单元接收用户的数据请求,然后在N个ChannelService模块中为用户指定ChannelService模块。ChannelService模块处理直播的频道业务,从负责直播业务逻辑的逻辑服务集群中获取直播数据,并将直播数据发送给用户客户端。在该系统中,第二选择单元接收用户的登陆请求,然后在N个LoginServer模块中为用户指定LoginServer模块。LoginServer模块根据用户登陆信息判断该用户是否已注册,若是,则向该用户返回登陆令牌。
在第二选择单元为用户指定LoginServer模块后,LoginServer模块首先对用户进行登录验证,登录验证通过之后,用户客户端获得LoginServer模块返回的登陆令牌。然后,用户客户端再向第一选择模块发送带有登陆令牌的直播数据请求,第一选择单元指定一个ChannelService模块处理该用户的频道业务,指定的ChannelService模块与用户客户端建立长连接。与此同时,系统通过Redis数据库记录用户所在的ChannelService模块。
该系统中配置有负责直播业务逻辑的逻辑服务集群,服务集群中包括N个逻辑服务LogicService模块,为了方便直播的后台人员对服务器进行管理,服务集群通过dubbo分布式框架提供服务接口,并在分布式应用程序协调服务zookeeper注册中心注册服务。
聊天发起用户的ChannelService模块可以通过调用LogicService模块的功能查询Redis数据库,以确定聊天对象用户的ChannelService模块,ChannelService模块中部署有Mina网络通信应用框架,可以支持位于同一个ChannelService模块的用户之间可以进行聊天数据的通讯。对于位于不同ChannelService模块的用户,则利用逻辑层的LogicService模块的消息队列来连接不同的ChannelService模块,实现在位于不同ChannelService模块的用户的聊天数据的通讯。
主播客户端和直播管理客户端通过调用zookeeper中的服务与逻辑服务集群通信,主播客户端上传直播的音视频数据,直播管理客户端通过逻辑服务集群对直播平台进行管理,例如对直播房间或用户进行封禁。LogicService模块接收主播客户端上传的音视频数据,提供音视频数据的转码、录制、截图以及鉴黄等服务,ChannelService模块从LogicService模块获取转码后的音视频数据发送至用户。该系统中还包括:日志服务集群,日志服务集群中的N个日志服务LogService模块从逻辑服务集群中获取直播的日志信息并进行记录。
该直播系统随着用户量的增加,可以通过扩张网络层的ChannelService模块和逻辑层的LogicService模块以及数据层的LogService模块,打散单个服务器的压力,避免服务器宕机。该系统各个模块低耦合高内聚,可以根据具体的业务随时定制所需要的模块,灵活性好。
本发明实施例提供的数据传输装置,通过将用户分配到多个数据传输单元上,由每个数据传输单元分别处理一部分用户的数据传输,从而减少服务器的负荷,解决服务器宕机问题,提高服务器的可靠性。并且实现对于注册用户和非注册用户采用不同的传输配置,从而有区别的对注册用户和非注册用户提供的不同的直播数据传输服务。同时还实现了同一个数据传输服务器用户之间和不同数据传输服务器用户之间的通讯。
图5示出了可以应用本发明实施例的数据传输方法或数据传输装置的示例性系统架构500。
如图5所示,系统架构100可以包括终端设备501、502、503,网络504和服务器505。网络104用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如视频直播类应用等。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所使用的视频直播类应用提供支持的后台服务器。后台服务器可以接收用户的数据请求,在预配置的数据传输单元集中为该用户指定数据传输单元,其中,所述指定的数据传输单元获取所述数据,并将所述数据反馈给终端设备。
需要说明的是,本发明实施例所提供的数据传输方法一般由服务器505执行,相应地,数据传输装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一选择单元、第二选择单元、登陆验证单元和数据传输单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一选择单元还可以被描述为“获取当前数据传输单元集中各数据传输单元的用户量的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收用户的数据请求;
在预配置的包括多个数据传输单元的数据传输单元集中为该用户指定数据传输单元,其中,所述指定的数据传输单元获取该用户请求的数据,并将所述数据发送给该用户。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
响应用户的数据请求,在预配置的包括多个数据传输单元的数据传输单元集中为该用户指定数据传输单元,包括:在注册用户数据传输单元子集或非注册用户数据传输单元子集中为该用户指定数据传输单元;
所述指定的数据传输单元获取该用户请求的数据,并将所述数据发送给该用户;
其中,在响应用户的数据请求之前还包括:
接收用户的登陆请求,以获取用户登陆信息;
在预配置的多个分布式部署的登陆验证单元中为该用户指定登陆验证单元。
2.根据权利要求1所述的方法,其特征在于,
所述方法在响应用户的数据请求之前还包括:
所述指定的登陆验证单元根据所述用户登陆信息确定该用户已注册,则向该用户返回登陆令牌;
所述为该用户指定数据传输单元的步骤包括:
判断所述数据请求中是否包括登陆令牌,若是,则在注册用户数据传输单元子集中为该用户指定数据传输单元,否则在非注册用户数据传输单元子集中为该用户指定数据传输单元。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述指定的数据传输单元接收该用户的聊天数据,并根据所述聊天数据确定聊天对象;
若该用户与其聊天对象的数据传输单元相同,则所述数据传输单元将聊天数据发送给该聊天对象,
否则,所述数据传输单元通过消息队列将聊天数据发送给该聊天对象的数据传输单元,以使该聊天对象的数据传输单元将聊天数据发送给该聊天对象。
4.根据权利要求1所述的方法,其特征在于,所述为该用户指定数据传输单元的步骤包括:
获取当前数据传输单元集中各数据传输单元的用户量,选择其中用户量低的数据传输单元指定给当前用户;或者
提取当前用户的数据请求中的特征数据,将特征数据转换为哈希值,然后计算该哈希值除以数据传输单元集中数据传输单元的数量的余数值,数据传输单元集中各数据传输单元具有编号,选择编号为该余数值的数据传输单元指定给当前用户。
5.一种数据传输装置,其特征在于,包括:
第一选择单元和数据传输单元集,所述数据传输单元集包括:多个数据传输单元;
所述第一选择单元用于响应用户的数据请求,然后在所述数据传输单元集中为该用户指定数据传输单元,包括:在注册用户数据传输单元子集或非注册用户数据传输单元子集中为该用户指定数据传输单元;
所述数据传输单元用于获取该用户请求的数据,并将所述数据发送给该用户;
所述装置还包括:第二选择单元和登陆验证单元集,所述登陆验证单元集包括:多个分布式部署的登陆验证单元;
第二选择单元用于接收用户的登陆请求,以获取用户登陆信息,然后在预配置的多个分布式部署的登陆验证单元中为该用户指定登陆验证单元。
6.根据权利要求5所述的装置,其特征在于,
所述登陆验证单元,还用于:根据所述用户登陆信息确定该用户已注册,则向该用户返回登陆令牌;
所述第一选择单元进一步用于判断所述数据请求中是否包括登陆令牌,若是,则在注册用户数据传输单元子集中为该用户指定数据传输单元,否则在非注册用户数据传输单元子集中为该用户指定数据传输单元。
7.根据权利要求5所述的装置,其特征在于,所述数据传输单元还用于接收该用户的聊天数据,并根据所述聊天数据确定聊天对象,若该用户与其聊天对象的数据传输单元相同,则所述数据传输单元将聊天数据发送给该聊天对象,否则,所述数据传输单元通过消息队列将聊天数据发送给该聊天对象的数据传输单元,以使该聊天对象的数据传输单元将聊天数据发送给该聊天对象。
8.根据权利要求5所述的装置,其特征在于,
所述第一选择单元进一步用于获取当前数据传输单元集中各数据传输单元的用户量,选择其中用户量低的数据传输单元指定给当前用户;或者,
提取当前用户的数据请求中的特征数据,将特征数据转换为哈希值,然后计算该哈希值除以数据传输单元集中数据传输单元的数量的余数值,数据传输单元集中各数据传输单元具有编号,选择编号为该余数值的数据传输单元指定给当前用户。
9.一种数据传输电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711172027.9A CN109818999B (zh) | 2017-11-22 | 2017-11-22 | 数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711172027.9A CN109818999B (zh) | 2017-11-22 | 2017-11-22 | 数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109818999A CN109818999A (zh) | 2019-05-28 |
CN109818999B true CN109818999B (zh) | 2022-02-25 |
Family
ID=66601114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711172027.9A Active CN109818999B (zh) | 2017-11-22 | 2017-11-22 | 数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109818999B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166791B (zh) * | 2019-06-12 | 2021-10-29 | 北京字节跳动网络技术有限公司 | 连接的建立方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992621A (zh) * | 2005-12-27 | 2007-07-04 | 腾讯科技(深圳)有限公司 | 实现大容量网络直播的方法及其系统 |
CN103260050A (zh) * | 2013-04-09 | 2013-08-21 | 同济大学 | 基于Google App Engine云平台的视频点播系统 |
CN104283901A (zh) * | 2013-07-01 | 2015-01-14 | 亿览在线网络技术(北京)有限公司 | 一种分布式直播后台服务系统及其方法 |
CN104539517A (zh) * | 2014-12-26 | 2015-04-22 | 深圳创维-Rgb电子有限公司 | 一种基于智能终端本地服务器的聊天方法及系统 |
US9319727B2 (en) * | 2013-10-29 | 2016-04-19 | Fx Networks, Llc | Viewer-authored content acquisition and management system for in-the-moment broadcast in conjunction with media programs |
CN105791443A (zh) * | 2016-05-13 | 2016-07-20 | 武汉斗鱼网络科技有限公司 | 基于分布式集群的直播网站中用户服务提供系统及方法 |
-
2017
- 2017-11-22 CN CN201711172027.9A patent/CN109818999B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992621A (zh) * | 2005-12-27 | 2007-07-04 | 腾讯科技(深圳)有限公司 | 实现大容量网络直播的方法及其系统 |
CN103260050A (zh) * | 2013-04-09 | 2013-08-21 | 同济大学 | 基于Google App Engine云平台的视频点播系统 |
CN104283901A (zh) * | 2013-07-01 | 2015-01-14 | 亿览在线网络技术(北京)有限公司 | 一种分布式直播后台服务系统及其方法 |
US9319727B2 (en) * | 2013-10-29 | 2016-04-19 | Fx Networks, Llc | Viewer-authored content acquisition and management system for in-the-moment broadcast in conjunction with media programs |
CN104539517A (zh) * | 2014-12-26 | 2015-04-22 | 深圳创维-Rgb电子有限公司 | 一种基于智能终端本地服务器的聊天方法及系统 |
CN105791443A (zh) * | 2016-05-13 | 2016-07-20 | 武汉斗鱼网络科技有限公司 | 基于分布式集群的直播网站中用户服务提供系统及方法 |
Non-Patent Citations (2)
Title |
---|
"Social media stickiness in Mobile Personal Livestreaming service";Jia Zhao,Ming Ma,Wei Gong,Lei Zhang,Yifei Zhu,Jiangchuan Li;《2017 IEEE/ACM 25th International Symposium on Quality of Service (IWQoS)》;20170707;全文 * |
"网络直播的创新";马铨;《视听界》;20161130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109818999A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915953B (zh) | 直播视频鉴别的方法、装置、系统、服务器和存储介质 | |
CN104539977B (zh) | 直播预览方法及装置 | |
US20160337447A1 (en) | Cloud-to-cloud peering | |
CN108174248A (zh) | 视频播放方法、视频播放控制方法、装置、及存储介质 | |
WO2017096846A1 (zh) | 一种直播视频的获取方法、装置及系统 | |
US20160029047A1 (en) | On-demand load balancer and virtual live slicer server farm for program ingest | |
CA2942137A1 (en) | Conflict detection and resolution in an abr network using client interactivity | |
CN109521956B (zh) | 一种基于区块链的云存储方法、装置、设备及存储介质 | |
US10863246B2 (en) | Network services platform systems, methods, and apparatus | |
US9172594B1 (en) | IPv6 to web architecture | |
US20170163761A1 (en) | Method, device and system for obtaining live video | |
CN105871800A (zh) | 一种拉流控制的方法、装置及系统 | |
JP7490124B2 (ja) | インタラクション方法、装置及び電子機器 | |
CN107332894B (zh) | 直播方法、装置及系统、服务器、存储介质 | |
CN106161356B (zh) | 通过客户端快速登录网站的方法和系统 | |
CN113453025A (zh) | 数据获取方法及装置 | |
CN109818999B (zh) | 数据传输方法和装置 | |
CN111787048B (zh) | 一种终端设备的连接方法、调度服务器及物联网系统 | |
CN112217910B (zh) | 视频服务访问方法、装置、网络设备和存储介质 | |
US11848762B2 (en) | Live broadcast stream pushing method and apparatus, and electronic device | |
CN116961918A (zh) | 令牌获取方法和装置 | |
CN113660290A (zh) | 信令传输方法、装置、设备及存储介质 | |
US10231004B2 (en) | Network recording service | |
CN112016280B (zh) | 一种文件编辑方法、装置及计算机可读介质 | |
KR20160056236A (ko) | 온라인 비디오 플랫폼 서비스 방법 및 그 시스템 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |