CN103870586A - 从网站系统中导出数据的方法和装置 - Google Patents

从网站系统中导出数据的方法和装置 Download PDF

Info

Publication number
CN103870586A
CN103870586A CN201410116647.0A CN201410116647A CN103870586A CN 103870586 A CN103870586 A CN 103870586A CN 201410116647 A CN201410116647 A CN 201410116647A CN 103870586 A CN103870586 A CN 103870586A
Authority
CN
China
Prior art keywords
derived data
controller
blocker
file
file type
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.)
Granted
Application number
CN201410116647.0A
Other languages
English (en)
Other versions
CN103870586B (zh
Inventor
冉江川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201410116647.0A priority Critical patent/CN103870586B/zh
Publication of CN103870586A publication Critical patent/CN103870586A/zh
Application granted granted Critical
Publication of CN103870586B publication Critical patent/CN103870586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种从网站系统中导出数据的方法和装置。所述方法包括:接收客户端发来的导出数据请求,其中,所述导出数据请求中包含导出数据的文件类型;根据所述导出数据请求选择并调用与所述导出数据请求中的导出数据相对应的控制器;执行所述控制器获取所述导出数据;调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件;将生成的文件返回给所述客户端。本发明解决了数据不一致的问题,而且易于网站系统的维护。

Description

从网站系统中导出数据的方法和装置
技术领域
本发明实施例涉及数据导出技术,尤其涉及一种从网站系统中导出数据的方法和装置。
背景技术
现有技术中,网站系统根据文件类型选择相应的控制器来导出数据。如图1所示,如果需要导出某一数据的CSV文件,则通过客户端端向服务器发出导出该数据的CSV文件的请求,服务器识别出该请求中的数据及文件类型,并识别结果执行相应的控制器,从数据库获得相应的数据,将获得的数据生成CSV文件,然后服务器将控制器生成的文件并返回至该客户端。但是,当需要导出该数据的EXCEL文件时,就需要通过执行另一控制器从数据库获得该数据,而由于不同控制器的业务逻辑不同,可能导致对于同一数据的不同文件类型的导出请求从数据库获得数据存在差异,也就是说,现有的网站系统对同一数据的不同文件类型的导出请求的处理结果存在数据不一致的问题。
发明内容
有鉴于此,本发明实施例提供一种从网站系统中导出数据的方法和装置,以解决现有技术从网站系统导出的数据不一致的问题。
第一方面,本发明实施例提供了一种从网站系统中导出数据的方法,所述方法包括:
接收客户端发来的导出数据请求,其中,所述导出数据请求中包含导出数据的文件类型;
根据所述导出数据请求选择并调用与所述导出数据请求中的导出数据相对应的控制器;
执行所述控制器获取所述导出数据;
调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件;
将生成的文件返回给所述客户端。
第二方面,本发明实施例还提供了一种从网站系统中导出数据的装置,所述装置包括:
接收模块,用于接收客户端发来的导出数据请求,其中,所述导出数据请求中包含导出数据的文件类型;
选择模块,用于根据所述导出数据请求选择并调用与所述导出数据请求中的导出数据相对应的控制器;
获取模块,用于执行所述控制器获取所述导出数据;
生成模块,用于调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件;
返回模块,用于将生成的文件返回给所述客户端。
本发明实施例提供的从网站系统中导出数据的方法和装置,通过调用并执行与所述导出数据请求中的导出数据相对应的控制器获取数据,并通过调用并执行拦截器将控制器获取的数据生成与所述导出数据请求中的文件类型相应的文件,使得网站系统无论客户端请求导出一种数据的哪种文件类型,都仅由同一个控制器导出该种数据,而不同文件通过执行拦截器生成,解决了现有技术中网站系统导出同一种数据的不同文件类型时,通过不同的控制器获取该种数据导致的获得不同文件的数据不一致的问题。
附图说明
图1是现有技术中从网站系统中导出不同数据文件的方法的示意图;
图2是本发明实施例提供的一种从网站系统中导出数据的方法的流程图;
图3是本发明实施例提供的另一种从网站系统中导出数据的方法的示意图;
图4是本发明实施例提供的一种从网站系统中导出数据的装置的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
图2是本发明实施例提供的一种从网站系统中导出数据的方法的流程图,该方法可由服务器执行,在利用该方法进行导出数据之前,需要根据需要在服务器上预设定文件类型(如Html、Excel、Csv、Word等)并提供相应文件的生成方法。该方法具体包括如下步骤:
步骤210,接收客户端发来的导出数据请求。
用户需要导出数据时,通过客户端浏览器输入导出数据请求,并将所述导出数据请求发送至服务器,服务器接收客户端浏览器发来的导出数据请求。其中,所述导出数据请求中包含需要导出的数据以及导出数据的文件类型(如Excel、CSV、Html等等)。
导出数据请求也即HTTP(Hypertext transfer protocol,超文本传输协议)请求,该导出数据请求中会携带具体的URL(Uniform Resource Locator,统一资源定位符)以及相应的控制器(Controller)的参数。其中,在网站系统中,控制器可以识别浏览器请求并完成一些相对复杂的运算;在网站系统中,服务器(Server)用来为浏览器提供数据存储和数据处理。
步骤220,根据所述导出数据请求选择并调用与所述导出数据请求中的导出数据相对应的控制器。
服务器识别所述导出数据请求,通过所述导出数据请求中的URL找到与所述导出数据请求中的导出数据相对应的控制器,选择并调用该控制器。
步骤230,执行所述控制器获取所述导出数据。
服务器执行所述导出数据请求中的导出数据相对应的控制器,通过执行所述控制器,连接数据库,从所述数据库中获取需要导出的数据。
步骤240,调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件。
服务器调用并执行拦截器从所述控制器的执行中获取所述控制器返回的导出数据,并根据所述文件类型将所述导出数据生成相应的文件。其中,根据所述文件类型将所述导出数据生成相应的文件是现有技术,这里不再赘述。
其中,拦截器在网站系统中是全局存在的,是用于控制整个系统运转的组件。
示例性的,执行所述控制器获取所述导出数据,包括:
通过执行所述拦截器控制执行所述控制器获取所述导出数据。
在所述控制器被执行之前,所述控制器被所述拦截器拦截,通过所述拦截器控制所述控制器的执行,并在所述控制器执行完成后获取所述导出数据。
示例性的,调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件,包括:
调用并执行所述拦截器拦截所述控制器;
通过执行所述拦截器从所述控制器获得所述客户端请求返回的文件类型;
调用所述拦截器根据获得的所述客户端请求返回的文件类型将所述控制器获取的所述导出数据生成所述相应的文件。
服务器调用并执行所述拦截器,拦截器在控制器被执行之前拦截所述控制器;通过执行所述拦截器,控制执行所述控制器,从控制器的注解中或者控制器执行完成后的返回参数中获得所述客户端请求返回的文件类型;拦截器根据获得的所述客户端请求返回的文件类型选择相应的文件的生成方法将所述控制器获取的所述导出数据生成所述相应的文件。其中,所述客户端请求返回的文件类型选择相应的文件的生成方法是现有技术,这里不再赘述。
示例性的,通过执行所述拦截器从所述控制器获得所述客户端请求返回的文件类型,包括:
通过执行所述拦截器从所述控制器的注解中获得所述客户端请求返回的文件类型,或者,通过执行所述拦截器从所述控制器的返回参数中获得所述客户端请求返回的文件类型。
其中,注解表明了要返回的文件类型,可在控制器中预先加载注解,以表明控制器对应的导出数据可能需要生成的文件类型。注解(Annotation),在JAVA系统中,是写在代码文件中的文字;编译器和虚拟机均不会解析这些文字,但是编译器会将此保留在编译后的文件中;在JAVA程序运行时可以读取到这些信息。返回参数的值由控制器执行完获取数据操作后生成,即控制器执行完成后会通过返回参数的形式告知拦截器所述客户端请求返回的文件类型。
步骤250,将生成的文件返回给所述客户端。
服务器将生成的与所述客户端请求返回的文件类型相应的文件后,将该文件返回给所述客户端,供用户下载或者使用。
示例性的,将生成的文件返回给所述客户端,包括:
通过执行所述拦截器将生成的文件返回给所述客户端。
通过执行所述拦截器,由拦截器将生成的与所述客户端请求返回的文件类型相应的文件返回给所述客户端,呈现给用户。
本实施例通过调用并执行与所述导出数据请求中的导出数据相对应的控制器获取数据,并通过调用并执行拦截器将控制器获取的数据生成与所述导出数据请求中的文件类型相应的文件,使得网站系统无论客户端请求导出一种数据的哪种文件类型,都仅由同一个控制器导出该种数据,而不同文件通过执行拦截器生成,解决了现有技术中网站系统导出同一种数据的不同文件类型时,通过不同的控制器获取该种数据导致的获得不同文件的数据不一致的问题,而且在导出数据发生变化时,避免了通过导出同一种数据的不同文件类型时重复修改不同的控制器的业务逻辑的问题,易于网站系统的维护
图3是本发明实施例提供的另一种从网站系统中导出数据的方法的示意图。如图3所示,首先客户端浏览器发出导出数据请求,服务器根据所述导出数据请求选择相应的控制器,并执行该控制器从数据库获取数据。在控制器被执行之前被拦截器拦截,所述拦截器通过控制器中的注解或者控制器执行完获取数据操作后返回参数的形式获取与所述导出数据请求相对应的文件类型,即导出数据的文件类型,拦截器控制执行所述控制器从数据库中获取数据,拦截器根据导出数据的文件类型将获取的数据创建成相应文件类型的文件,并将创建的文件返回至客户端浏览器,供用户下载或者使用。解决了现有技术中网站系统导出同一种数据的不同文件类型时,通过不同的控制器获取该种数据导致的获得不同文件的数据不一致的问题,而且在导出数据发生变化时,避免了通过导出同一种数据的不同文件类型时重复修改不同的控制器的业务逻辑的问题,易于网站系统的维护。
图4是本发明实施例提供的一种从网站系统中导出数据的装置的示意图。如图4所示,本实施例所述的从网站系统中导出数据的装置包括:接收模块410、选择模块420、获取模块430、生成模块440和返回模块450。
其中,接收模块410用于接收客户端发来的导出数据请求,其中,所述导出数据请求中包含导出数据的文件类型。
选择模块420用于根据所述导出数据请求选择并调用与所述导出数据请求中的导出数据相对应的控制器。
获取模块430用于执行所述控制器获取所述导出数据。
生成模块440用于调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件。
示例性的,所述获取模块430还用于通过执行所述拦截器控制执行所述控制器获取所述导出数据。
示例性的,所述生成模块440包括:
拦截子模块,用于调用并执行所述拦截器拦截所述控制器;
文件类型获取子模块,用于通过执行所述拦截器从所述控制器获得所述客户端请求返回的文件类型;
生成子模块,用于调用所述拦截器根据获得的所述客户端请求返回的文件类型将所述控制器获取的所述导出数据生成所述相应的文件。
示例性的,所述文件类型获取子模块还用于通过执行所述拦截器从所述控制器的注解中获得所述客户端请求返回的文件类型,或者,通过执行所述拦截器从所述控制器的返回参数中获得所述客户端请求返回的文件类型。
返回模块450用于将生成的文件返回给所述客户端。
示例性的,所述返回模块450还用于通过执行所述拦截器将生成的文件返回给所述客户端。
本实施例通过接收模块接收客户端发来的导出数据请求,选择模块根据所述导出数据请求选择并调用与所述导出数据请求中的导出数据相对应的控制器,获取模块执行所述控制器获取所述导出数据,生成模块调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件,返回模块将生成的文件返回给所述客户端,解决了现有技术中网站系统导出同一种数据的不同文件类型时,通过不同的控制器获取该种数据导致的获得不同文件的数据不一致的问题,而且在导出数据发生变化时,避免了通过导出同一种数据的不同文件类型时重复修改不同的控制器的业务逻辑的问题,易于网站系统的维护。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种从网站系统中导出数据的方法,其特征在于,所述方法包括:
接收客户端发来的导出数据请求,其中,所述导出数据请求中包含导出数据的文件类型;
根据所述导出数据请求选择并调用与所述导出数据请求中的导出数据相对应的控制器;
执行所述控制器获取所述导出数据;
调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件;
将生成的文件返回给所述客户端。
2.根据权利要求1所述的方法,其特征在于,执行所述控制器获取所述导出数据,包括:
通过执行所述拦截器控制执行所述控制器获取所述导出数据。
3.根据权利要求1所述的方法,其特征在于,调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件,包括:
调用并执行所述拦截器拦截所述控制器;
通过执行所述拦截器从所述控制器获得所述客户端请求返回的文件类型;
调用所述拦截器根据获得的所述客户端请求返回的文件类型将所述控制器获取的所述导出数据生成所述相应的文件。
4.根据权利要求3所述的方法,其特征在于,通过执行所述拦截器从所述控制器获得所述客户端请求返回的文件类型,包括:
通过执行所述拦截器从所述控制器的注解中获得所述客户端请求返回的文件类型,或者,通过执行所述拦截器从所述控制器的返回参数中获得所述客户端请求返回的文件类型。
5.根据权利要求1-4任一项所述的方法,其特征在于,将生成的文件返回给所述客户端,包括:
通过执行所述拦截器将生成的文件返回给所述客户端。
6.一种从网站系统中导出数据的装置,其特征在于,所述装置包括:
接收模块,用于接收客户端发来的导出数据请求,其中,所述导出数据请求中包含导出数据的文件类型;
选择模块,用于根据所述导出数据请求选择并调用与所述导出数据请求中的导出数据相对应的控制器;
获取模块,用于执行所述控制器获取所述导出数据;
生成模块,用于调用并执行拦截器根据所述文件类型将所述控制器返回的导出数据生成相应的文件;
返回模块,用于将生成的文件返回给所述客户端。
7.根据权利要求5所述的装置,其特征在于,所述获取模块还用于通过执行所述拦截器控制执行所述控制器获取所述导出数据。
8.根据权利要求5所述的装置,其特征在于,所述生成模块包括:
拦截子模块,用于调用并执行所述拦截器拦截所述控制器;
文件类型获取子模块,用于通过执行所述拦截器从所述控制器获得所述客户端请求返回的文件类型;
生成子模块,用于调用所述拦截器根据获得的所述客户端请求返回的文件类型将所述控制器获取的所述导出数据生成所述相应的文件。
9.根据权利要求8所述的装置,其特征在于,所述文件类型获取子模块还用于通过执行所述拦截器从所述控制器的注解中获得所述客户端请求返回的文件类型,或者,通过执行所述拦截器从所述控制器的返回参数中获得所述客户端请求返回的文件类型。
10.根据权利要求5-9任一项所述的装置,其特征在于,所述返回模块还用于通过执行所述拦截器将生成的文件返回给所述客户端。
CN201410116647.0A 2014-03-26 2014-03-26 从网站系统中导出数据的方法和装置 Active CN103870586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410116647.0A CN103870586B (zh) 2014-03-26 2014-03-26 从网站系统中导出数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410116647.0A CN103870586B (zh) 2014-03-26 2014-03-26 从网站系统中导出数据的方法和装置

Publications (2)

Publication Number Publication Date
CN103870586A true CN103870586A (zh) 2014-06-18
CN103870586B CN103870586B (zh) 2017-05-24

Family

ID=50909116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410116647.0A Active CN103870586B (zh) 2014-03-26 2014-03-26 从网站系统中导出数据的方法和装置

Country Status (1)

Country Link
CN (1) CN103870586B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939378A (zh) * 2016-05-10 2016-09-14 杭州迪普科技有限公司 配置文件导出、导入的方法及装置
CN108200201A (zh) * 2018-02-06 2018-06-22 中国科学院西安光学精密机械研究所 一种水下设备密封舱数据导出方法及传输系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015439A1 (en) * 2003-07-15 2005-01-20 Ekambaram Balaji Flexible architecture component (FAC) for efficient data integration and information interchange using web services
CN102682027A (zh) * 2011-03-16 2012-09-19 新奥特(北京)视频技术有限公司 一种EclipseRCP的数据导入导出方法及系统
CN103092993A (zh) * 2013-02-18 2013-05-08 五八同城信息技术有限公司 数据导出方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015439A1 (en) * 2003-07-15 2005-01-20 Ekambaram Balaji Flexible architecture component (FAC) for efficient data integration and information interchange using web services
CN102682027A (zh) * 2011-03-16 2012-09-19 新奥特(北京)视频技术有限公司 一种EclipseRCP的数据导入导出方法及系统
CN103092993A (zh) * 2013-02-18 2013-05-08 五八同城信息技术有限公司 数据导出方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939378A (zh) * 2016-05-10 2016-09-14 杭州迪普科技有限公司 配置文件导出、导入的方法及装置
CN105939378B (zh) * 2016-05-10 2020-05-12 杭州迪普科技股份有限公司 配置文件导出、导入的方法及装置
CN108200201A (zh) * 2018-02-06 2018-06-22 中国科学院西安光学精密机械研究所 一种水下设备密封舱数据导出方法及传输系统
CN108200201B (zh) * 2018-02-06 2023-10-10 中国科学院西安光学精密机械研究所 一种水下设备密封舱数据导出方法及传输系统

Also Published As

Publication number Publication date
CN103870586B (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN106708899B (zh) 自动埋点方法和装置
CN102393857B (zh) 一种用网页进行本地调用的方法和系统
US20130227014A1 (en) Data sharing system and method
US10007532B1 (en) Data infrastructure for cross-platform cross-device API inter-connectivity
US20200106860A1 (en) Offline client replay and sync
US11677809B2 (en) Methods for transforming a server side template into a client side template and devices thereof
CN107679214B (zh) 链接定位方法、装置、终端与计算机可读存储介质
CN104808920A (zh) 一种焦点控制方法及装置
CN203086514U (zh) 移动开放交互系统
CN101957756A (zh) 一种智能移动终端程序快速生成系统及方法
CN105704177A (zh) 一种ua识别方法、装置
CN111124544A (zh) 界面显示方法、装置、电子设备及存储介质
CN105022619A (zh) 一种代码数据处理方法及装置
CN104378428A (zh) 一种用于文件下载的方法和装置
CN104618388A (zh) 快速注册登录方法及对应的重置服务器、信息服务器
CN103324567B (zh) 一种应用引擎的调试方法和调试系统
CN105556918B (zh) 一种资源下载方法及电子设备
CN102882988A (zh) 一种获得资源信息的地址信息的方法、装置及设备
CN103870586A (zh) 从网站系统中导出数据的方法和装置
WO2014156825A1 (ja) ログ出力制御装置、方法及びプログラム
CN105677688B (zh) 页面数据加载方法和系统
CN110045950A (zh) 基于nodejs的静态页面开发脚手架方法
CN103544209A (zh) 访问网页的方法和系统
CN103051722B (zh) 一种确定页面是否被劫持的方法及相关设备
CN102929877A (zh) 将网页上的表格数据生成表格文件的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant