专利名称:一种文件实时传输的方法和系统的制作方法
技术领域:
本发明涉及数字电视收视分析技术领域,尤其涉及一种文件实时传输的方 法和系统。
背景技术:
数字电视收视分析是一个崭新的收视分析领域,数字电视收视分析系统应 用于经过数字化改造后的广电网络,利于机顶盒实时收集用户收视行为数据, 然后从多层次、多角度,通过进行时段分析、频道分析、节目分析、广告分析 等,从而将获取的分析指标用于对观众收视行为的解释、分析和预测。
其中用户收视行为数据是使用机顶盒的用户观看电视的信息的记录,包括
时间、DVB频道号、VOD点播影片信息等,详细记录了用户的收视行为信息。
数据采集服务器能够接收所有被管理的机顶盒的用户收视行为数据,并按 一定周期(如一小时),将用户收视行为数据保存为一定格式的文件,文件名 通常按照文件类型及年月日时分秒的格式保存,便于理解该文件的类型及产生 时间,定期生成新的数据被保存在新的文件里,并存储在磁盘阵列中。数据采 集服务器是分布式部署的,每个数据采集服务器管理一定范围内的机顶盒。
数据分析中心能够将各个数据采集服务器收集来的用户收视行为数据文 件汇聚在一起,然后进行多层次、多角度的分析。
因此,如何将各个数据采集服务器上的用户收视行为数据文件实时的、不 重复的、准确的、安全的汇聚到数据分析中心是一个关键的问题。
目前对于文件的传输常用的方法就是通过FTP传输,通过FTP软件远程连 接到FTP服务器,将FTP服务器上的对应文件下载到本地。这种技术方案的有以下缺点
实时性低,且无法判断文件结束标志。通过FTP的方式很难确定文件是否 已经打上结束标记,进而不能实时的将已经结束的文件上传。
自动化程度低。通过FTP软件,通常需要人为去检査需要下载的文件,这
样自动化程度太低,且容易出错。
灵活性差。通过FTP软件或方法,使用过程复杂,且灵活性差,不能自动 获取文件服务器地址及变更情况。
发明内容
本发明的目的在于提出一种文件实时传输的方法和系统,适用于数字电视 收视分析系统,能够实时地将已经完成的用户收视行为数据文件上报给数据分 析中心。
为达此目的,本发明采用以下技术方案-
一种文件实时传输的方法,适用于数字电视收视分析系统,包括以下步骤
A、 文件代理维护文件列表和文件服务器对应的文件发送列表;
B、 文件服务器登录到所述文件代理;
C、 所述文件代理定期査询文件发送列表,根据所述文件服务器对应的文 件发送列表,将所述文件列表上还没有传输给所述文件服务器的文件发送给所 述文件服务器。
所述文件包括用户收视行为数据,由数据采集服务器定期生成。 步骤A进一步包括以下步骤
Al、所述文件代理定期按照顺序读取文件存放目录下的文件的文件名; A2、判断所述文件是否存在于内存中的文件列表,如果是,则返回步骤 Al,如果否,则转至步骤A3;
A3、判断所述文件是否为过期文件,如果是,则返回步骤A1,如果否,则转至步骤A4;
A4、判断所述文件是否已经结束,如果否,则返回步骤Al,如果是,则
转至步骤A5;
A5、将所述文件信息加到所述文件列表中。 步骤B迸一步包括以下步骤
Bl、所述文件服务器从配置文件或者数据库中读取文件代理的IP地址、 端口信息、登录的用户名和密码;
B2、所述文件服务器根据所述文件代理的IP地址、端口信息和所述文件 代理建立套接字连接,并发送登录信息;
B3、所述文件代理对所述文件服务器进行鉴权。
步骤C中,所述文件发送列表保存了所述文件服务器的文件发送状态信 息,包括当前发送文件在内存中文件列表的位置、当前发送文件的总包数、已 经发送的包序号、当前包的发送状态、当前文件的发送状态和当前文件的文件 名。
步骤C进一步包括以下步骤
Cl、所述文件代理定期查询所述文件服务器对应的文件发送列表,获取所
述文件服务器对应的文件发送状态信息;
C2、所述文件代理根据所述文件服务器对应的文件发送状态信息,判断当 前文件是否发送完成,如果是,则转至步骤C3,如果否,则转至步骤C5;
C3、所述文件代理根据所述文件列表,判断是否存在没有发送给所述文件 服务器的文件,如果是,则转至步骤C4,如果否,则结束本次发送,再返回 步骤C1;
C4、所述文件代理向所述文件服务器发送下一个文件的第一个包,并更新 所述文件服务器的文件发送状态信息,直到所有文件发送完成,再转至步骤 Cl;C5、所述文件代理判断当前文件的包是否发送完成,如果是,则转至步骤 C6,如果否,则转至步骤C7;
C6、发送下一个包,更新包的发送状态,直到当前文件的包全部发送完成, 并返回步骤C3;
C7、发送当前文件的当前的包,直到当前文件的包全部发送完成,并返回 步骤C3。
步骤C进一步还包括以下步骤
所述文件服务器收到所述文件代理传输的文件包,将所述文件包保存到本 地文件中,如果保存文件包失败,则向所述文件代理发送重传当前文件包的命 令。
一种文件实时传输的系统,适用于数字电视收视分析系统,包括文件代理 和文件服务器,所述文件代理和所述文件服务器通过网络连接,所述文件代理 用于维护文件列表、定期查询文件发送列表并根据所述文件服务器对应的文件 发送状态信息,将文件列表上还没有传输给所述文件服务器的文件发送给所述 文件服务器,所述文件服务器用于接收所述文件代理发送的文件。
所述文件代理位于数据采集服务器上,所述文件服务器位于数据分析中心 或者文件汇聚中心。
一个文件代理对应不少于一个的文件服务器,一个文件服务器对应不少于 一个的文件代理。
采用了本发明的技术方案,通过定期判断数据采集服务器上是否还有新的 已经完成的用户收视行为数据文件没有发送给数据分析中心,来保证实时地把 己经完成的用户收视行为数据文件上报给数据分析中心。
进一步的,采用了本发明的技术方案,用户收视行为数据文件上传操作、 断点续传等都是自动完成,不需要人为参与。系统可扩张性强,数据采集服务器的增加,只需要配置到数据库中,数据 分析中心能够自动收集新增加的数据采集服务器的文件。
无论是数据采集服务器还是数据分析中心服务器的关机以及网络的不稳 定,再次开机或网络再次联通后仍可以继续上传没有完成的文件。
图l是本发明具体实施方式
中文件实时传输系统的结构示意图。
图2是本发明具体实施方式
中文件代理维护用户收视行为数据文件列表 的流程图。
图3是本发明具体实施方式
中文件代理和文件服务器建立连接的流程图。 图4是本发明具体实施方式
中文件代理给文件服务器实时上传文件的流程图。
具体实施例方式
下面结合附图并通过具体实施方式
来进一步说明本发明的技术方案。 图l是本发明具体实施方式
中文件实时传输系统的结构示意图。如图l所 示,文件代理104部署在数据采集服务器102上,能够完成将数据采集服务器产 生的用户收视行为数据文件上传给部署在数据分析中心101的文件服务器103。
文件代理能够对本地的用户收视行为数据文件进行维护,定期打包用户收 视行为数据文件,删除过期用户收视行为数据文件等。
文件代理还通过维护记录有文件服务器的文件发送状态信息的文件发送 列表,并将文件发送列表通过内存文件映射到硬盘上,在文件服务器与文件代 理因网络或其他原因断开后,再次建立连接后,继续上传余下的用户收视行为 数据文件或数据包来达到断点续传的功能。
文件服务器部署在数据分析中心或其他文件汇聚中心,用于接收各个数据采集服务器中文件代理上传的用户收视行为数据文件,然后分类保存在磁盘 上,并对磁盘中的数据进行整理,打包,删除等操作。
文件代理和文件服务器通过网络连接,都支持一对多,这样能够为系统部 署提高灵活性。
下面详细描述文件实时传输的流程。
首先是用户收视行为数据文件的生成。用户收视行为数据文件是系统传输 的对象,它是按照一定格式生成好的文件,文件名称的命名格式一般为文件生
成的时间,如action—20090104_230054. dat表示该文件是2009年l月4日23点0 分54秒生成的文件,这是为了便于从文件名判断该文件的生成时间。
每隔一定周期(如一小时)生成一个新的文件,最新生成的文件是正在写 入的文件,暂时不上传,等下一个新文件生成时才上传该文件。
其次文件代理维护用户收视行为数据文件列表。通过读取用户收视行为数 据文件,文件代理维护一个文件列表,该列表中的文件是需要上传给文件服务 器的文件。定期轮询文件列表,将新文件信息添加到文件列表中,将过期的文 件信息从文件列表中删除。
用户收视行为数据文件分为两类 一类是已经写完的文件,该文件是一个
周期之前的文件,并且有结束标识; 一类是正在写还没有写完的文件,没有结 束标识。读取本地用户收视行为数据文件的操作是周期性在做的,在一个很小 的时间间隔内,就要对文件存放目录下的文件进行检查,检查新的文件。 图2是本发明具体实施方式
中文件代理维护用户收视行为数据文件列表
的流程图。如图2所示,该流程包括以下步骤
步骤201、文件代理定期按照顺序一个个读取文件存放目录下的文件的文 件名。
步骤202、将该文件名与内存中的文件列表进行比较,判断该文件是否存 在于内存中的文件列表,如果是,则返回步骤201,如果否,则转至步骤203。步骤203、判断该文件是否为过期文件,如果是,则返回步骤201,如果 否,则转至步骤204。
步骤204、判断该文件是否已经结束,如果否,则返回步骤201,如果是, 则转至步骤205。其中该文件是否结束是通过打开该文件査看是否有结束标识 来判断,如果有结束标识,则已经结束;如果没有结束标识,则没有结束。
步骤205、将该文件信息加到文件列表中,再返回步骤201。
再次是文件代理和文件服务器之间建立连接。图3是本发明具体实施方式
中文件代理和文件服务器建立连接的流程图。如图3所示,该流程包括以下步 骤
步骤301、文件代理一直监听文件服务器的连接,对于文件代理来说,一 个文件服务器是文件代理的--个客户端,文件代理则是服务器。
步骤302、文件服务器从配置文件或者数据库中读取文件代理的IP地址、 端口信息、登录的用户名和密码。
步骤303、文件服务器根据文件代理的IP地址、端口信息和文件代理建 立套接字连接,并发送登录信息。
步骤304、文件代理对文件服务器进行鉴权,通过后两者建立连接。
文件代理和文件服务器建立连接后是文件代理将用户收视行为数据文件 上传给文件服务器的过程。图4是本发明具体实施方式
中文件代理给文件服务 器实时上传文件的流程图。如图4所示,该流程包括以下步骤
步骤401、文件代理维护其对应的文件服务器的文件发送列表,该文件发 送列表保存了该文件代理的所有对应文件服务器的文件发送状态信息,包括当 前发送文件在内存中文件列表的位置、当前发送文件的总包数、已经发送的包 序号、当前包的发送状态、当前文件的发送状态和当前文件的文件名。
步骤402、文件代理定期査询该文件发送列表,获得每个文件服务器的文 件发送状态信息。步骤403、根据文件发送状态信息,判断该文件服务器的当前文件是否发 送完成,如果是,则转至步骤404,如果否,则转至步骤406。
步骤404、文件代理查询文件列表,判断是否存在没有发送给文件服务器 的文件,如果是,则转至步骤405,如果否,则结束,过一段时间返回步骤402。
步骤405、文件代理向文件服务器发送下一个文件的第一个包,并更新文 件服务器的文件发送状态信息,直到所有文件发送完成,再过一段时间返回步 骤402。
步骤406、文件代理判断当前文件的包是否发送完成,如果是,则转至步 骤407,如果否,则转至步骤408。
步骤407、发送下一个包,更新包的发送状态,直到当前文件的包全部发 送完成,并返回步骤404。
步骤40S、发送当前文件的当前包,直到当前文件的包全部发送完成,并 返回步骤404。由于内存中的文件列表是和硬盘中的文件做了文件映射的,这 样即使文件或包发送了一半,文件代理或文件服务器关闭,再次启动后仍能继 续传送,但数据包需要重新传输整个包。这就是这里所谓的断点续传。
文件服务器收到文件代理传输的文件包,将文件包保存到本地文件中,如 果保存文件包失败,则向文件代理发送重传当前文件包的命令。
一个文件服务器的文件发送完成后,文件代理将上传下一个文件服务器的 文件,如此循环,对所有对应的文件服务器实时发送文件。
以上的流程描述了文件代理和文件服务器的交互过程,其中检查文件列表 中是否有新文件可以保证了文件的实时传输,因为一旦有新文件,该文件信息 就加入到了文件列表中,然后就作为新文件发送给文件服务器了。
文件代理维护的文件服务器的文件发送列表,记录了每个文件服务器的文 件发送状态信息,由于是经过内存磁盘映射技术处理的,这样就能保证文件代 理和文件服务器之间传输的文件的信息能够安全的保存到磁盘上,无论文件代理还是文件服务器进程死掉,重启后能够断点续传。
对于本地的文件,超过一定时限的文件认为是无效数据,文件代理的文件 信息列表中也已经剔除了该文件的信息,不会进行上传,所以对于该部分文件 进行打包处理,例如三天前的文件,进行压縮打包,然后删除原始文件,以保 证磁盘空间的合理利用。
本具体实施方式
解决了数字电视系统中用户收视行为数据文件高效、高实 时性的传输,能够24小时不间断的自动完成数据文件的上报;在分布式部署 时,可以灵活扩展,通过增加文件代理及在文件服务器配置该文件代理的IP、 端口、用户名、密码等信息,从而达到扩展管理范围的目的。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局 限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变 化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该 以权利要求的保护范围为准。
权利要求
1、一种文件实时传输的方法,适用于数字电视收视分析系统,其特征在于,包括以下步骤A、文件代理维护文件列表和文件服务器对应的文件发送列表;B、文件服务器登录到所述文件代理;C、所述文件代理定期查询文件发送列表,根据所述文件服务器对应的文件发送列表,将所述文件列表上还没有传输给所述文件服务器的文件发送给所述文件服务器。
2、 根据权利要求1所述的一种文件实时传输的方法,其特征在于,所述 文件包括用户收视行为数据,由数据采集服务器定期生成。
3、 根据权利要求1或者2所述的一种文件实时传输的方法,其特征在于,步骤A进一步包括以下步骤M、所述文件代理定期按照顺序读取文件存放目录下的文件的文件名; A2、判断所述文件是否存在于内存中的文件列表,如果是,则返回步骤Al,如果否,则转至步骤A3;A3、判断所述文件是否为过期文件,如果是,则返回歩骤A1,如果否,则转至步骤A4;A4、判断所述文件是否已经结束,如果否,则返回步骤A1,如果是,则 转至步骤A5;A5、将所述文件信息加到所述文件列表中。
4、 根据权利要求1所述的一种文件实时传输的方法,其特征在于,步骤 B进一步包括以下步骤Bl、所述文件服务器从配置文件或者数据库中读取文件代理的IP地址、 端口信息、登录的用户名和密码;B2、所述文件服务器根据所述文件代理的IP地址、端口信息和所述文件 代理建立套接字连接,并发送登录信息;B3、所述文件代理对所述文件服务器进行鉴权。
5、 根据权利要求l所述的一种文件实时传输的方法,其特征在于,步骤 C中,所述文件发送列表保存了所述文件服务器的文件发送状态信息,包括当 前发送文件在内存中文件列表的位置、当前发送文件的总包数、己经发送的包 序号、当前包的发送状态、当前文件的发送状态和当前文件的文件名。
6、 根据权利要求5所述的一种文件实时传输的方法,其特征在于,步骤C进一步包括以下歩骤Cl、所述文件代理定期査询所述文件服务器对应的文件发送列表,获取所 述文件服务器对应的文件发送状态信息;C2、所述文件代理根据所述文件服务器对应的文件发送状态信息,判断当 前文件是否发送完成,如果是,则转至歩骤C3,如果否,则转至步骤C5;C3、所述文件代理根据所述文件列表,判断是否存在没有发送给所述文件 服务器的文件,如果是,则转至步骤C4,如果否,则结束本次发送,再返回步骤C1;C4、所述文件代理向所述文件服务器发送下一个文件的第一个包,并更新 所述文件服务器的文件发送状态信息,直到所有文件发送完成,再转至步骤 Cl;C5、所述文件代理判断当前文件的包是否发送完成,如果是,则转至步骤 C6,如果否,则转至步骤C7;C6、发送下一个包,更新包的发送状态,直到当前文件的包全部发送完成, 并返回步骤C3;C7、发送当前文件的当前的包,直到当前文件的包全部发送完成,并返回 步骤C3。
7、 根据权利要求6所述的一种文件实时传输的方法,其特征在于,步骤C进一步还包括以下步骤所述文件服务器收到所述文件代理传输的文件包,将所述文件包保存到本 地文件中,如果保存文件包失败,则向所述文件代理发送重传当前文件包的命 令。
8、 一种文件实时传输的系统,适用于数字电视收视分析系统,其特征在于,包括文件代理和文件服务器,所述文件代理和所述文件服务器通过网络连 接,所述文件代理用于维护文件列表、定期查询文件发送列表并根据所述文件 服务器对应的文件发送状态信息,将文件列表上还没有传输给所述文件服务器 的文件发送给所述文件服务器,所述文件服务器用于接收所述文件代理发送的 文件。
9、 根据权利要求8所述的一种文件实时传输的系统,其特征在于,所述 文件代理位于数据采集服务器上,所述文件服务器位于数据分析中心或者文件 汇聚中心。
10、 根据权利要求8或者9所述的一种文件实时传输的系统,其特征在于, 一个文件代理对应不少于一个的文件服务器,一个文件服务器对应不少于一个 的文件代理。
全文摘要
本发明公开了一种文件实时传输的方法和系统,适用于数字电视收视分析系统,文件代理维护文件列表,文件服务器登录到文件代理,文件代理定期查询文件发送列表,获取文件服务器对应的文件发送状态信息,文件代理根据文件服务器的文件发送状态信息,将文件列表上还没有传输给文件服务器的文件发送给文件服务器。采用了本发明的技术方案,能够实时地将已经完成的用户收视行为数据文件上报给数据分析中心,并且支持断点续传。
文档编号H04L29/08GK101534415SQ20091008283
公开日2009年9月16日 申请日期2009年4月23日 优先权日2009年4月23日
发明者赵利城, 宇 辛 申请人:天柏宽带网络科技(北京)有限公司