技术领域
[0001] 本发明涉及信息处理领域,特别涉及一种通过特定的数据组织存储方式实现对数据进行发布的系统和方法。
相关背景技术
[0002] 计算机技术和网络技术的迅速发展有效地支撑了目前各行业的数据管理工作,使用基于B/S(Browser/Server,浏览器/服务器)架构的网络交互手段来实现数据发布已成为当前数据发布方式的主流。B/S数据发布架构具备维护和升级方式简单、低成本和用户友好度高等诸项优点。
[0003] 卫星数据实际上是指地面接收到的卫星搭载的各项有效载荷的下行数据,以及对所接收的数据进行处理而得到的数据产品。下行数据即原始数据,根据载荷的不同原始数据具备不同的特征,针对各载荷的原始数据进行处理的方式和程度也不相同,由此衍生出各级卫星数据产品,并且不同级别的数据产品的存储需求和发布需求存在差异。
[0004] 卫星任务所产生的各种数据总量比较庞大,数据类型也比较复杂,为方便卫星数据的存储和发布,需要卫星数据管理方根据实际情况制定卫星数据的元数据标准和特定的数据组织方式。当前卫星数据管理领域并没有统一的国际元数据标准,更没有可通用的卫星数据发布平台。而通用的B/S结构数据发布平台并不具备符合卫星数据(及数据产品)特征的数据组织发布能力,因此研制适合卫星数据管理方需求的发布方法和系统以实现卫星数据的合理利用是必然需求。
具体实施方式
[0024] 本发明提出一种实现数据发布的系统和方法。以下将结合对上述附图的描述来说明本发明。
[0025] 图1描述了本发明的数据发布系统结构示意图。从图中可以看出,该系统包括数据存储模块11和数据发布模块12。下面分别对其进行描述。
[0026] 所述数据发布模块12包括:客户端认证模块31、接收模块32、通知模块35和保存模块34。其中,客户端认证模块31用于接收数据下载客户端41发送的客户端认证信息和数据下载请求信息,并在对该数据下载客户端41认证通过后将该数据下载请求信息发送到接收模块32;接收模块32用于接收客户端认证模块31发送的数据下载请求信息,并将该信息发送至数据存储模块11;保存模块34用于接收数据存储模块11发送的待下载数据,并将保存待下载数据的地址信息发送至通知模块35;通知模块35接收保存模块34发送的待下载数据的地址信息,并将该信息通知数据下载客户端41以便其通过通知模块35从所述保存模块34下载待下载数据。
[0027] 所述数据存储模块11包括:数据请求接收模块24、存储管理模块21、存储模块22、制作模块23和暂存模块25。其中,数据请求接收模块24接收数据发布模块12发送的数据下载请求信息,并将该信息发送至存储管理模块21;存储管理模块21接收数据请求接收模块24发送的数据下载请求信息,并根据该信息向存储模块22发送检索请求信息以检索数据下载请求信息所指示的请求下载的数据;存储模块22接收存储管理模块21发送的检索请求信息,并向其返回检索结果;所述存储管理模块21根据该检索结果生成数据制作信息并发送给制作模块23;制作模块23接收存储管理模块21发送来的数据制作信息并根据该数据制作信息从存储模块22中获取制作待下载数据所需的数据,并利用获取的数据生成待下载数据并将该待下载数据发送给暂存模块25;暂存模块25保存制作模块23生成的待下载数据,并发送至数据发布模块12。在本发明中,除了对上述存储模块22进行数据检索外,所述存储管理模块21还可对所述存储模块22进行各种操作,包括:对文件数据的读写、对元数据的读写、对日志数据的读写、对文件数据和元数据的复制与回收、对文件数据和元数据以及日志数据的备份和恢复、和对存储资源的分配与回收。
[0028] 在本发明实施例中,存储管理模块21和制作模块23至关重要。这两个模块体现了数据发布系统(尤其是卫星数据发布系统)所应用的下载数据组织(制作)技术,这两个模块的详细结构如图2所示。
[0029] 存储管理模块21包括请求接收模块51、数据检索模块52和制作信息模块54。其中,请求接收模块51接收数据请求接收模块24发送的数据下载请求信息,并将该信息发送至数据检索模块52。数据检索模块52根据该数据下载请求信息向存储模块22(图2中未示出)发送检索请求信息以检索请求下载的数据并接收所述存储模块22返回的检索结果。数据检索模块52将检索结果发送至制作信息模块54。制作信息模块54根据该检索结果生成数据制作信息,并将该数据制作信息发送至制作模块23以使制作模块23根据该数据制作信息制作待下载数据。根据需要,存储管理模块21还可包括一检索结果管理模块53以管理数据检索模块52的检索结果。在数据检索模块52将检索结果发送至制作信息模块54的同时,还可发送至检索结果管理模块53,检索结果的管理有利于提升系统的检索效率。例如,在数据检索模块52进行检索前先查询检索结果并根据先前的检索结果优化检索方式,因此,检索结果管理模块53所保存的检索结果能够整体上提高检索效率。
[0030] 如图2所示,制作模块23包括信息接收模块61、数据访问模块62、数据组织模块64和数据输出模块65。在制作模块23中,信息接收模块61接收存储管理模块21发送来的数据制作信息并将其发送给数据组织模块64。数据组织模块64根据该数据制作信息确定组织待下载数据所需的数据并指示数据访问模块62获取所需的数据。数据访问模块62从存储模块22(图2未示出)中获取所述所需的数据,并将获取的数据返回到数据组织模块64。数据组织模块64对返回的数据进行组织以生成待下载数据,并将所述待下载数据通过数据输出模块65发送至暂存模块25,再由暂存模块25发送至数据发布模块12。
[0031] 图3是本发明实施例根据图1所示的内容发布系统的结构所搭建的硬件环境的一个示例的结构图。由存储设备71和存储服务器(NAS(网络附属存储)设备)72通过(高速)以太网1连接构成了系统的数据存储模块11。需要对存储数据进行管理及其它处理工作的本地用户(本地工作站)73、74通过(高速)以太网1连接并置于统一的GPFS(通用并行文件系统)文件结构2下,即,基于GPFS文件结构2管理所存储的数据。由应用程序服务器81和Web服务器82通过(高速)以太网1连接构成了系统的数据发布模块12。数据存储模块11和数据发布模块12由(高速)以太网1连接并可以实现交互。数据发布模块12中的Web服务器82经由防火墙3连接到internet互联网9对外部用户91、92、
93(图1中所示的数据下载客户端41)进行数据发布。本地用户73、74可直接访问数据存储模块11而无需通过数据发布模块12来访问数据存储模块11。
[0032] 具体而言,图1中所示的数据请求接收模块24、存储管理模块21、存储模块22、制作模块23和暂存模块25都可以包括在图3中所示的存储设备71和存储服务器72中,或者由存储设备71和存储服务器72中的硬件与软件的结合而实现其功能。另外,本领域技术人员明白数据存储模块11包括一台存储设备71和一台存储服务器72是示例性的,数据存储模块11可以包括更多的存储设备和服务器,或者也可以只包括一台具备存储设备功能的服务器。同理,图1中所示的客户端认证模块31、接收模块32、通知模块35和保存模块34都可以包括在图3中所示的应用程序服务器81和web服务器82中,或者由应用程序服务器81和web服务器82中的硬件与软件的结合而实现其功能。另外,本领域技术人员明白数据发布模块12包括一台应用程序服务器81和一台web服务器82是示例性的,数据发布模块12可以包括更多的应用程序服务器和web服务器,或者也可以只包括一台具备web服务器功能的应用程序服务器。
[0033] 应该理解,GPFS文件结构2也仅仅是数据存储模块11的文件系统的一个示例,根据数据存储模块11所采用的存储设备和服务器的操作系统不同,还可采用诸如NTFS、StorNext、QFS、exFAT、Ext2、Ext3、Ext4之类的文件系统。
[0034] 另外,外部用户91、92、93可以采用专用的客户端软件来访问Web服务器82,也可以在Web服务器82支持B/S结构的情况下采用浏览器(例如,微软公司的IE浏览器)作为客户端软件来访问web服务器82。
[0035] 图4为图3所示的数据发布系统进行数据发布的示例性工作流程图。以下参照图4并结合图3根据步骤4.1到步骤4.9详细说明用户,即图3中的外部用户91、92、93,申请下载数据的实施流程。
[0036] 首先,在步骤4.1,用户通过数据下载客户端41登录数据发布模块12的发布页面,并且向数据发布模块12发送客户端认证信息和数据下载请求信息。
[0037] 在步骤4.2,此数据发布模块12中的Web服务器82(之中的客户端认证模块31)解析客户端认证信息以审核(认证)用户是否有资格申请现在数据。
[0038] 在步骤4.3,当客户端认证信息未通过认证时,即当Web服务器82确定用户未通过用户资格审核时,所述Web服务器82确定拒绝用户下载数据的请求,并将拒绝服务通知页面发送到用户的数据下载客户端41(例如,在B/S结构下为客户端的浏览器)。当客户端认证信息通过认证时,即当Web服务器82确定用户通过用户资格审核时,所述Web服务器82确定接受用户的数据下载请求,并将数据订购页面发送到用户的数据下载客户端41。在本实施例中,用户希望下载的数据例如为某段时间的某种卫星数据产品。
[0039] 在步骤4.4,用户接收到数据订购页面后在向Web服务器82提交数据订单,即,数据下载请求信息,该信息指定了用户希望下载的内容,例如某段时间的某种卫星数据产品。Web服务器82对提交的订单(数据下载请求信息)是否合法进行检验。如果该订单(数据下载请求信息)未通过检验,则将该订单(数据下载请求信息)返回到用户的数据下载客户端41,并向用户显示表单修改页面。如果该订单(数据下载请求信息)通过检验,则前进到步骤4.5
[0040] 在步骤4.5,Web服务器82将数据下载请求信息通过应用程序服务器81发送到数据存储模块11中的存储服务器72。之后,所述存储服务器72向存储设备71提交数据检索请求,即,向其发送检索请求信息。
[0041] 在步骤4.6,存储服务器72在存储设备71上进行数据检索以检索数据下载请求信息所指示的用户请求下载的数据。
[0042] 在步骤4.7,所述存储服务器72判断是否存在所需的数据,即,用户请求下载的数据。如果所述存储服务器72确定不存在所需的数据,则将没有所需的数据的通知经应用服务器81发送到Web服务器82。Web服务器82生成订购失败通知并将其发送给用户的数据下载客户端41,数据下载客户端41上向用户显示订购失败页面。如果所述存储服务器72确定存在所需的数据,则前进到步骤4.8。
[0043] 在步骤4.8,所述存储服务器72将存在所需的数据的通知经应用服务器81发送到Web服务器82。Web服务器82将该通知发送给用户的数据下载客户端41以告知用户。之后,所述存储服务器72组织数据以生成符合客户需求的待下载数据,即,获取订单(数据下载请求信息)指定的数据产品。
[0044] 在步骤4.9,所述存储服务器72创建了待下载数据的拷贝并发送到应用服务器81。应用服务器81将该拷贝保存到下载服务程序(例如,FTP
[0045] (文件传输协议)程序),并通知Web服务器82。Web服务器82生成(FTP)下载通知,并将该通知发送给用户的数据下载客户端41,数据下载客户端41上显示订购成功页面以告知用户。
[0046] 注意,图4是在以上参照图1和2进行的描述的基础之上加入了众多示例性细节而得到的。这些细节并不构成对本发明的限定。例如,在图4的示例中,内容发布系统是基于B/S结构的,但是其也可以基于C/S(客户端/服务器)结构。又例如,除了在数据下载客户端41上显示订购产品成功或失败的页面之外,还可以通过电子邮件或语音提示告知用户。除了利用FTP程序为用户提供下载之外,还可以利用其它诸如P2P之类的程序来下载。
[0047] 本发明的数据发布系统根据客户需求对待下载的数据进行组织,在数据发布系统下属各分系统自有的数据应用模式和具备的硬件结构基础上,满足各分系统内部和各分系统之间的数据交互需求,并使其能通过对数据产品的存储和对外发布,解决数据发布系统内部异构环境下数据交互和外部用户对于数据的研究需求的问题。
[0048] 虽然针对当今卫星数据处理技术的不足提出了本发明,但是本领域技术人员可以理解,本发明的数据发布方法和数据发布系统不仅适用于卫星数据处理领域,还适用于诸如天体数据处理领域、工程数据处理领域等各种需要数据发布服务的领域。
[0049] 以上结合附图对本发明进行了详细描述,但需要指出的是,说明书中所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。