Abstract: A method and system is provided for the conversion of electronic data taken from multiple file formats in to a readable file. In an embodiment the readable includes a flat file and its sub files. The present application provides a method using JAVA to pull out the electronic data from a database. The JAVA objects are mapped on to the multiple file format based on XML configuration. The present application provides a pluggable file which can be used with system using JAVA application. The present invention also provides multi-threaded model to increase the performance.
CLIAMS:WE CLAIM:
1. A method for converting electronic data to a readable file, the method comprising:
receiving a request from a user for the access of the electronic data, wherein the electronic data is stored in a database;
pulling the electronic data from the database in the form of JAVA objects by passing method parameters as list of JAVA objects which needs to be pulled from the database;
defining JAVA object attributes of the JAVA objects through an XML file;
mapping the JAVA object attributes with the XML file based on the request of the user to get an XML configuration and a JAVA archive file (JAR file); and
executing the JAR file through JAVA API to generate the readable file.
2. The method of claim 1, wherein the format type of electronic data comprises of a flat file (.txt, .t), an xls file, an xlsx format (excel electronic data format) and a comma separated value (.csv) format.
3. The method of claim 1, wherein the readable file is a flat file and its sub-files.
4. The method of claim 3, wherein the sub files comprises at least one of an EXCEL file, an xlsx format (excel electronic data format), a PDF file, a Tag Image File Format (TIFF), a graphics interchange format (GIF), a bit map (BMP), Joint Photographic Experts Group (JPEG), MICROSOFT WORD file, AUTOCAD, and POWER POINT.
5. The method of claim 1 further includes the step of multi-processing through the flat file, wherein the flat file having a plurality of columns referring to its sub-files.
6. The method of claim 1, wherein each JAVA objects represent one row in the database.
7. The method of claim 1, wherein the JAVA object attributes comprises a configurable file name and path of the file.
8. The method of claim 1 further includes the step of installing a plugin to support JAVA on a non-JAVA compatible system.
9. A system for converting electronic data to a readable file, the system comprising:
a receiving module configured to receive a request from a user for the access of the electronic data;
a conversion engine configured to convert the electronic data and its content into the readable file using a predefined process as follows:
pulling the electronic data from a database in the form of JAVA objects by passing method parameters as list of JAVA objects which needs to be pulled from the database;
defining JAVA object attributes of the JAVA object through an XML file;
mapping the JAVA object attributes with the XML file based on the request of the user to get an XML configuration and a JAVA archive file (JAR file); and
executing the JAR file through JAVA API to generate the readable files.
10. The system of claim 9, further includes a database for storing the electronic data.
11. The system of claim 9, wherein the format type of electronic data comprises of a flat file (.txt, .t), an xls file, an xlsx format (excel electronic data format) and a comma separated value (csv) format.
12. The system of claim 9, wherein the readable file is a flat file and its sub files.
13. The system of claim 12, where in the sub files comprises at least one of an EXCEL file, an xlsx format (excel electronic data format), a PDF file, a Tag Image File Format (TIFF), a graphics interchange format (GIF), a bit map (BMP), Joint Photographic Experts Group (JPEG), MICROSOFT WORD file, AUTOCAD, and POWER POINT.
14. The system of claim 9 further includes a plugin to support JAVA on a non-JAVA compatible system.
15. The system of claim 9 further includes a plugin to send the JAR file in compressed ZIP format to a system server.
16. The system of claim 9 further includes an archive module, the archive module configured to provide the capability to archive the last generated readable file in an archive directory which will hold the history of the last generated readable files. ,TagSPECI:FORM 2
THE PATENTS ACT, 1970 (39 of 1970) &THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
METHOD AND SYSTEM FOR CONVERTING ELECTRONIC DATA INTO A READABLE FILE
Applicant:
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India
The following specification particularly describes the invention and the manner in which it is to be performed.
FIELD OF THE INVENTION
[001] The present application generally relates to a system and method for data conversion in a computer application. More particularly, but not specifically, the invention provides a method and system for converting electronic data in to a readable file format.
BACKGROUND OF THE INVENTION
[002] With the advent of computers, enterprises have started using computers for their business procedures and applications involving large amount of electronic data. These business procedures and applications have typically been automated using a processor running a model of the business process. These business procedures and applications are related to banking, loan, e-commerce, etc. These applications vary widely between organizations within a business as well as between differing businesses.
[003] Generally, the conventional enterprise applications gather electronic data as an input from multiple sources in multiple file format types. A file format is the internal structure of a file that defines the way in which the file is stored. The file format may include, but not limited to, .doc file, .xls, flat files, .jpg, .txt etc. This electronic data is then sent to the other system / platform for further processing or utility. To send this information to the other system, the electronic data needs to be collated and presented in such a way that the information is easily transferable and readable for the user.
[004] One of the application is in the banking industry. Let's say a bank needs to send a user profile information to a vendor which is a different system such as a Mortgage Advisor. The mortgage advisor is using those electronic data for the creation of their marketing strategy. In this case, the user profile information includes user’s first name and last name, user’s email id, address, logos/images of the user (it may be in JPEG format), testimonials (it may be in .doc/.xls/.pdf ), consent forms (it may be in .docx format) and BIO's (it may be in simple text). So all these information cannot be send in one file as they are of different format. To send these files, they need to be segregated in one format.
[005] Currently, the enterprise applications use Extract Transform Load (ETL) tools such as Informatica, Pentaho, Ab Initio etc. to generate outbound files which will send data in a flat files to other systems. These flat files can be used by the other system for transmission of electronic data. When the amount of electronic data in different formats increases, additional application code needs to be written in order to transfer the electronic data of large mass. If the file to be generated is different than of a flat file i.e. .pdf, .png, .gif, .docx, then you cannot generate tool as those tools only support Flat File and CSV files.
[006] Various other methods have also been used in the prior art to facilitate the transfer of data from one system to another system when more than one type of file formats are involved.
[007] There is no standard tool or method used in the art which can generate a flat file which has columns pointing to a different file or sub-file. The major challenge is if the sub-files which need to be generated are in different format other than the flat file i.e. .pdf, .doc, .xls, .JPEG, .gif, and then the user will have to write a code to map each of the sub-files to the parent file columns which involves lot of development time and effort. In addition to that, the tool developed by this process is prone to defects.
[008] Therefore, there is a need to provide a system and method capable of efficiently converting the electronic data taken from multiple file formats to a readable file format.
SUMMARY OF THE INVENTION
[009] In accordance with the present invention, the primary objective is to provide a method and system to convert electronic data in to a readable file.
[0010] Another objective of the invention is to provide a method and system to convert the electronic data taken from multiple file formats and convert it into a flat file and its sub files.
[0011] The present application provides a method for converting electronic data in to a readable file. The method comprises the step of receiving a request from a user for the access of the electronic data. In the next step, the electronic data is pulled from the database in the form of JAVA objects by passing method parameters as list of JAVA objects. In the next step, JAVA object attributes of the JAVA objects through an XML file are defined and the mapping of the JAVA object attributes with the XML file is done based on the request of the user to get an XML configuration and a JAVA archive file. Finally, the JAR file is executed through JAVA API to generate the readable file.
[0012] According to an embodiment, the present application also provides a system for converting electronic data in to a readable file format. The system comprising a receiving module and a conversion engine. The receiving module is configured to receive a request from a user for the access of the electronic data and the conversion engine is configured to perform the other steps as mentioned above to generate the readable file.
[0013] It should be appreciated by those skilled in the art that any block diagram herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computing device or processor, whether or not such computing device or processor is explicitly shown.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The foregoing summary, as well as the following detailed description of preferred embodiments, are better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings exemplary constructions of the invention; however, the invention is not limited to the specific methods and system disclosed. In the drawings:
[0015] Fig. 1 shows a block diagram illustrating architecture of a system for converting electronic data to a readable file in accordance with an embodiment of the invention; and
[0016] Fig. 2 shows a flow chart illustrating steps involved in the conversion of electronic data in to the readable file in accordance with an embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0017] Some embodiments of this invention, illustrating all its features, will now be discussed in detail.
[0018] The words "comprising," "having," "containing," and "including," and other forms thereof, are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items.
[0019] It must also be noted that as used herein and in the appended claims, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise. Although any systems and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present invention, the preferred, systems and methods are now described. In the following description for the purpose of explanation and understanding reference has been made to numerous embodiments for which the intent is not to limit the scope of the invention.
[0020] One or more components of the invention are described as module for the understanding of the specification. For example, a module may include self-contained component in a hardware circuit comprising of logical gate, semiconductor device, integrated circuits or any other discrete component. The module may also be a part of any software programme executed by any hardware entity for example processor. The implementation of module as a software programme may include a set of logical instructions to be executed by a processor or any other hardware entity.
[0021] The disclosed embodiments are merely exemplary of the invention, which may be embodied in various forms.
[0022] The elements illustrated in the Figures interoperate as explained in more detail below. Before setting forth the detailed explanation, however, it is noted that all of the discussion below, regardless of the particular implementation being described, is exemplary in nature, rather than limiting. For example, although selected aspects, features, or components of the implementations are depicted as being stored in memories, all or part of the systems and methods consistent with the attrition warning system and method may be stored on, distributed across, or read from other machine-readable media.
[0023] Method steps of the invention may be performed by one or more computer processors executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives (reads) instructions and data from a memory (such as a read-only memory and/or a random access memory) and writes (stores) instructions and data to the memory. Storage devices suitable for tangibly embodying computer program instructions and data include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive (read) programs and data from, and write (store) programs and data to, a non-transitory computer-readable storage medium such as an internal disk (not shown) or a removable disk.
[0024] The present application provides a method for converting an electronic data in to a readable file. The method comprises the step of receiving a request from the user for the access of the electronic data. In the next step, the electronic data is pulled from the database in the form of JAVA objects by passing method parameters as list of JAVA objects. In the next step, JAVA object attributes of the JAVA objects through an XML file are defined and the mapping of the JAVA object attributes with the XML file is done based on the request of the user to get an XML configuration and a JAVA archive file. Finally the JAR file is executed through JAVA API to generate the readable file.
[0025] According to an embodiment of the present invention, a system 100 for the conversion of electronic data into a readable file format is shown in Fig. 1. The system 100 is configured to convert the format of electronic data received from different type of file format to the readable file format. It should be appreciated that the readable file format is configurable and content associated with it. The readable file format then can be shared with a second system 200 for another application. In an embodiment of the invention, the system 100 converts the electronic data in to a flat file. The system 100 can be used in applications that use files with electronic data to communicate with each other.
[0026] The system 100 comprises a receiving module 102, a database 104, a memory module 106 and a conversion engine 108 as shown in the block diagram of Fig. 1. The receiving module 102 is present inside the memory module 106. The receiving module 102 is configured to receive a request from a user for the access of electronic data stored in the database 104. The receiving module 102 may receive the request from a user interface 110 operated by the user. The user interface 110 may include but not limited to a key board, a touch pad, an electronic mouse, or some similar hardware entity though which the request can be provided. The memory module 106 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) and random access memory (RAM). The system 100 further includes an archive module 112. The archive module 112 is configured to provide the capability to archive the last generated flat file in an archive directory which will hold the history of last generated flat files.
[0027] The conversion engine 108 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the conversion engine 108 is also configured to fetch and execute computer-readable instructions stored in the memory module 106.
[0028] According to an embodiment of the invention, the electronic data comprises of a flat file, an xls file, an xlsx format (excel format), a txt format, and a comma separated value (csv) format.
[0029] According to an embodiment of the invention, the readable file format is a flat file. The flat file is a computer file that can only be read or written sequentially. It is comprised of one or more records, and each record includes one or more field instances. Each field instance can contain a data value, or be omitted. In some applications, all records in a flat file are of the same type; however, most usages allow a flat file to have more than one record type. Based on the requirement of the user the system 100 can also generate the flat and its sub files. In such a case, the flat files and each column of a record in the row of the flat file may refer to multiple sub files i.e. excel, .xlsx, pdf, gif, jpeg, .tiff, .doc, .docx, etc.
[0030] The conversion of the electronic data into the readable file format comprises converting the electronic data into a list of user defined object with each row or column corresponding to one object in the list. The data conversion engine 108 reads the mapping from the XML files in order to convert the electronic data type and its content into user defined objects in the readable file format.
[0031] A flow chart 300 illustrating the steps involved in the conversion of electronic data in to a readable file is shown in Fig. 2 in accordance with an embodiment of the invention. At step 302, a user sends a request for the access of the electronic data using the user interface 110. The electronic data can be stored in the database 104. It should be appreciated that the electronic data which needs to be sent can be present in one file format or more than one file format. The electronic data can be present in various forms such as portable document format (PDF), rich text format (RTF), hypertext markup language (HTML) format with style sheets, tabular HTML, extensible markup language (XML), cascading style sheets (CSS), Netscape Layers, linked and separate pages, Tag Image File Format (TIFF) or any other image format such as graphics interchange format (GIF), bit map (BMP), or Joint Photographic Experts Group (JPEG). Though it should be appreciated that the presence of electronic data in any other format is well within the scope of this invention.
[0032] At the next step 304, the electronic data is pulled from the database 104 in the form of JAVA objects as shown in Fig. 2. The JAVA objects are also referred as Plain Old Java Objects (POJO). Each JAVA objects represent one row in the file generated. Further at step 306, JAVA object attributes of the JAVA objects are defined through an XML based file. Thereby, eliminating the effort required to write separate code for generating files with electronic data. In an embodiment, in the XML file the user will have to define separate rows, columns, file type, file name etc. which is pointing to the source location of the electronic data. In the next step 308, the user maps the JAVA object attributes with the file system. The user will get an XML configuration and a JAVA archive (JAR) file. And finally, at step 310, the JAR file is executed through JAVA application programming interface (JAVA API) to fetch the electronic data from the database 104 and generate the readable file.
[0033] According to an embodiment of the invention, the system also includes a tool to convert the XML configuration in to different kind of objects. In an embodiment JAXB is used as unmarshalling tool. JAXB provides two main features: the ability to marshal JAVA objects into XML configuration and the inverse, i.e. to unmarshal XML configuration back into Java objects.
[0034] According to another embodiment of the invention, the system 100 is also configured to allow parallel processing of electronic data when the electronic data is taken from multiple files having different file formats. The system 100 generates one flat file and each row in the column can refer to another file that gets created, these are also called as the sub files. In an example, say there are 1000 records in the electronic data and each record has 10 columns. Out of ten columns, three are referring to different sub files that needs to be created. In other words, there are 3000 files that needs to be created. These 3000 files are assigned to 100 threads such that each thread creates 30 sub files, thereby increasing the performance of the system 100. The system 100 will apply the multi-threaded model and will overall increase the efficiency and performance of the system while at the same time reducing the effort in writing the code.
[0035] According to another embodiment of the invention, the system 100 can also be used by stand-alone processes or batch jobs as it supports archiving old files and compressing those in ZIP formats. Thereby, reducing the size of the readable file as compared to the other tools such as Pentaho, Ab-Initio etc. used in the art. The system 100 can also be used for online transaction process i.e. can be invoked or used in a web application.
[0036] The JAR file generated from the system 100 can be easily plugged to any other existing application. The JAR file also provide flexibility to define mappings, file directories / sub-directories, file types etc.
[0037] According to another embodiment of the invention, it should be appreciated that the system 100 can also use any other programming language such as C, C++ for the conversion of electronic data in to the readable file format.
[0038] The generated flat file and its sub files can be sent to another system for any other application where consolidated data is required. The system 100 can include a plugin to send the created flat files in compressed ZIP format to different file system server i.e. ftp/sftp. In other words after the file is generated, the files can be zipped and can be send over the network to a target system, whose credentials can be configured in the XML configuration file.
[0039] In view of the foregoing, it will be appreciated that the present invention provides a method and system for the conversion of electronic data from multiple file formats into the readable file. Still, it should be understood that the foregoing relates only to the exemplary embodiments of the present invention, and that numerous changes may be made thereto without departing from the spirit and scope of the invention as defined by the following claims.
| # | Name | Date |
|---|---|---|
| 1 | 1637-MUM-2015-IntimationOfGrant31-10-2023.pdf | 2023-10-31 |
| 1 | Form 2.pdf | 2018-08-11 |
| 2 | ABSTRACT1.jpg | 2018-08-11 |
| 2 | 1637-MUM-2015-PatentCertificate31-10-2023.pdf | 2023-10-31 |
| 3 | 1637-MUM-2015-Power of Attorney-050615.pdf | 2018-08-11 |
| 3 | 1637-MUM-2015-CLAIMS [12-05-2020(online)].pdf | 2020-05-12 |
| 4 | 1637-MUM-2015-Form 1-050615.pdf | 2018-08-11 |
| 4 | 1637-MUM-2015-COMPLETE SPECIFICATION [12-05-2020(online)].pdf | 2020-05-12 |
| 5 | 1637-MUM-2015-Correspondence-050615.pdf | 2018-08-11 |
| 5 | 1637-MUM-2015-FER_SER_REPLY [12-05-2020(online)].pdf | 2020-05-12 |
| 6 | 1637-MUM-2015-FER.pdf | 2019-11-20 |
| 6 | 1637-MUM-2015-OTHERS [12-05-2020(online)].pdf | 2020-05-12 |
| 7 | 1637-MUM-2015-FER.pdf | 2019-11-20 |
| 7 | 1637-MUM-2015-OTHERS [12-05-2020(online)].pdf | 2020-05-12 |
| 8 | 1637-MUM-2015-Correspondence-050615.pdf | 2018-08-11 |
| 8 | 1637-MUM-2015-FER_SER_REPLY [12-05-2020(online)].pdf | 2020-05-12 |
| 9 | 1637-MUM-2015-COMPLETE SPECIFICATION [12-05-2020(online)].pdf | 2020-05-12 |
| 9 | 1637-MUM-2015-Form 1-050615.pdf | 2018-08-11 |
| 10 | 1637-MUM-2015-Power of Attorney-050615.pdf | 2018-08-11 |
| 10 | 1637-MUM-2015-CLAIMS [12-05-2020(online)].pdf | 2020-05-12 |
| 11 | ABSTRACT1.jpg | 2018-08-11 |
| 11 | 1637-MUM-2015-PatentCertificate31-10-2023.pdf | 2023-10-31 |
| 12 | Form 2.pdf | 2018-08-11 |
| 12 | 1637-MUM-2015-IntimationOfGrant31-10-2023.pdf | 2023-10-31 |
| 1 | SearchStrategyMatrix_1637_mum_2015_15-11-2019.pdf |