File management method, device, computer system and computer readable storage medium

By building a file management application based on cross-platform desktop application development tools, the problem that traditional desktop applications cannot run across platforms is solved, flexible file management and development efficiency are achieved, and user satisfaction is improved.

CN113778942BActive Publication Date: 2025-01-14BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110122064.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-01-28
Publication Date
2025-01-14
Estimated Expiration
2041-01-28

AI Technical Summary

Technical Problem

Desktop applications and software developed in traditional ways cannot run flexibly on various platforms, resulting in poor development results and low user satisfaction.

Method used

Using file management applications built on cross-platform desktop application development tools, using native system interfaces to realize view interactive pages and application functions, conduct inter-process communication and data storage, and combine lightweight markup language editors and cloud storage to realize cross-platform files manage.

Benefits of technology

It realizes cross-platform file management applications, optimizes development results, improves user satisfaction, and overcomes the platform limitations and security and resource management problems of traditional development technologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113778942B_ABST
    Figure CN113778942B_ABST
Patent Text Reader

Abstract

The present disclosure provides a file management method, a file management device, a computer system, a computer-readable storage medium, and a computer program product. The file management method includes: calling a file management application, wherein the file management application is constructed based on a cross-platform desktop application development tool with a function of calling a native system interface, and the construction process includes: using the cross-platform desktop application development tool to call the interface of the native system to construct an application program to realize the construction of a view interaction page and application function of the file management application; based on the cross-platform desktop application development tool, realizing inter-process communication of the file management application when performing data processing; and using the cross-platform desktop application development tool to call an interface related to a storage function to realize data storage in the file management application; and using the file management application to perform file management.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and more specifically, to a file management method, a file management device, a computer system, a computer-readable storage medium, and a computer program product. Background Art

[0002] With the rapid development of computer technology, the role of front-end development technology in product development has become increasingly important. Desktop development is an important form of front-end development technology. The desktop applications and software produced by it have penetrated into all aspects of daily life. In order to meet user needs, the development, operation, maintenance and other design work of applications and software is particularly important.

[0003] In the process of realizing the concept of the present disclosure, the inventors found that there are at least the following problems in the related art: desktop applications and software developed in a traditional way cannot be flexibly run on various platforms, resulting in poor development results and low user satisfaction. Summary of the invention

[0004] In view of this, the present disclosure provides a file management method, a file management device, a computer system, a computer-readable storage medium, and a computer program product.

[0005] One aspect of the present disclosure provides a file management method, including: calling a file management application, wherein the file management application is built based on a cross-platform desktop application development tool with a function of calling a native system interface, and the construction process includes: using the cross-platform desktop application development tool to call the interface of the native system to build an application program to realize the construction of a view interaction page and application functions of the file management application; based on the cross-platform desktop application development tool, realizing inter-process communication of the file management application when performing data processing; and using the cross-platform desktop application development tool to call an interface related to a storage function to realize data storage in the file management application; and using the file management application to perform file management.

[0006] According to an embodiment of the present disclosure, the construction process of the file management application includes: obtaining a third-party open source rich text editor; and using the rich text editor as a lightweight markup language editor of the file management application.

[0007] According to an embodiment of the present disclosure, using the file management application to perform file management includes: editing local files based on the lightweight markup language editor; and using the cross-platform desktop application development tool to call an interface related to the storage function to store the local files in a preset network space.

[0008] According to an embodiment of the present disclosure, using the file management application to manage files includes: in response to a download request, obtaining a cloud file to be downloaded, wherein the cloud file to be downloaded includes local files that already exist locally and files that do not exist locally; if the cloud file to be downloaded already exists locally, updating the local file to the cloud file to be downloaded; and if the cloud file to be downloaded does not exist locally, storing the cloud file to be downloaded locally.

[0009] According to an embodiment of the present disclosure, in response to a download request, obtaining the cloud file to be downloaded includes: obtaining the cloud file stored in a preset network space; traversing local files, comparing the cloud file with the local file, and obtaining a target cloud file that is different from the local file; and using the target cloud file as the cloud file to be downloaded.

[0010] According to an embodiment of the present disclosure, the preset network space is determined according to the user's account.

[0011] Another aspect of the present disclosure provides a file management device, including: a calling module for calling a file management application, wherein the file management application is built based on a cross-platform desktop application development tool with a function of calling a native system interface; and a management module for performing file management using the file management application.

[0012] Another aspect of the present disclosure provides a computer system, including: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the file management method as described above.

[0013] Another aspect of the present disclosure provides a computer-readable storage medium having computer-executable instructions stored thereon, wherein the instructions are used to implement the file management method as described above when executed.

[0014] Another aspect of the present disclosure provides a computer program product, which includes computer executable instructions, and when the instructions are executed, are used to implement the file management method as described above.

[0015] According to the embodiments of the present disclosure, by adopting the calling of a file management application, wherein the file management application is built based on a cross-platform desktop application development tool with the function of calling a native system interface; and the technical means of using the file management application to perform file management, since the introduced cross-platform desktop application development tool can directly call the system interface, the file management application built based on it can run on various platforms, at least partially overcoming the technical problem that desktop applications and software developed in a traditional way cannot run flexibly on various platforms, thereby achieving the technical effect of optimizing development effects and improving user satisfaction. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0017] Figure 1 An exemplary system architecture to which the file management method according to an embodiment of the present disclosure can be applied is schematically shown;

[0018] Figure 2 A flowchart of a file management method according to an embodiment of the present disclosure is schematically shown;

[0019] Figure 3 A system relationship diagram of a file management application according to an embodiment of the present disclosure is schematically shown;

[0020] Figure 4 A system flow chart of a file management application according to an embodiment of the present disclosure is schematically shown;

[0021] Figure 5 A flowchart of the automatic file downloading process of the file management application according to an embodiment of the present disclosure is schematically shown;

[0022] Figure 6 A block diagram schematically shows a file management device according to an embodiment of the present disclosure; and

[0023] Figure 7 A block diagram of a computer system suitable for implementing the method described above according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0024] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0025] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0026] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.

[0027] In the case of using expressions such as "at least one of A, B, and C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.). In the case of using expressions such as "at least one of A, B, or C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, or C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0028] Web (World Wide Web) is a global, dynamic, interactive, cross-platform distributed graphic information system based on hypertext and HTTP. It is a network service built on the Internet, which can provide a graphical, easy-to-access and intuitive interface for viewers to find and browse information on the Internet. The documents and hyperlinks in it can organize the information nodes on the Internet into an interconnected network structure.

[0029] As Web application functions become more diverse, front-end technology can easily create beautiful and easy-to-use interfaces, and using Web technology to create desktop applications has become mainstream.

[0030] The inventors found in the process of realizing the concept of the present disclosure that the .NET platform should be the first choice for traditional desktop development technologies such as developing Windows desktop software. There are multiple languages ​​available for selection under this platform: VC++, .NET, C#, etc. However, the interfaces developed by these technologies are not beautiful, resulting in low user satisfaction. At the same time, when using these technologies to develop applications, the design and code cannot be separated, which does not conform to the current mainstream development technology. Moreover, the application security technology developed by these technologies is complex and the effect is not obvious, and it cannot be used across platforms. In addition, due to the defects and performance issues of .NET in resource management, the development efficiency and operation efficiency of the application are also reduced.

[0031] The embodiments of the present disclosure provide a file management method, a file management device, a computer system, a computer-readable storage medium, and a computer program product. The method includes calling a file management application, wherein the file management application is built based on a cross-platform desktop application development tool with a function of calling a native system interface; and using the file management application to perform file management.

[0032] Figure 1 The exemplary system architecture 100 to which the file management method according to the embodiment of the present disclosure can be applied is schematically shown. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.

[0033] like Figure 1 As shown, the system architecture 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired and / or wireless communication links, etc.

[0034] The user can use the terminal devices 101, 102, 103 to interact with the server 105 through the network 104 to receive or send messages, etc. The terminal devices 101, 102, 103 may be installed with the above-mentioned file management application.

[0035] The terminal devices 101 , 102 , and 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.

[0036] The server 105 may be a server that provides various services, such as a background management server that provides support for files managed or applications called by users using the terminal devices 101, 102, and 103. The background management server may analyze and process received data such as user requests, and feed back processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal device.

[0037] It should be noted that the file management method provided in the embodiment of the present disclosure can generally be executed by the terminal device 101, 102, or 103, or can also be executed by other terminal devices different from the terminal device 101, 102, or 103. Correspondingly, the file management device provided in the embodiment of the present disclosure can also be set in the terminal device 101, 102, or 103, or in other terminal devices different from the terminal device 101, 102, or 103. Alternatively, the file management method provided in the embodiment of the present disclosure can generally be executed by the server 105. Correspondingly, the file management device provided in the embodiment of the present disclosure can generally be set in the server 105. The file management method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the terminal device 101, 102, 103 and / or the server 105. Correspondingly, the file management device provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the terminal device 101, 102, 103 and / or the server 105.

[0038] For example, the file management application may be originally stored in any one of the terminal devices 101, 102, or 103 (for example, the terminal device 101, but not limited thereto), or may be stored on an external storage device and may be imported into the terminal device 101. Then, the terminal device 101 may locally execute the file management method provided by the embodiment of the present disclosure, or send the file management application to other terminal devices, servers, or server clusters, and the other terminal devices, servers, or server clusters that receive the file management application may execute the file management method provided by the embodiment of the present disclosure.

[0039] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.

[0040] Figure 2 The flowchart of the file management method according to the embodiment of the present disclosure is schematically shown.

[0041] like Figure 2 As shown, the method includes operations S201-S202.

[0042] In operation S201 , a file management application is called, wherein the file management application is built based on a cross-platform desktop application development tool having a function of calling a native system interface.

[0043] According to an embodiment of the present disclosure, the construction process of the file management application in the above operation S201 may include, for example, operations S201 - 1 to S201 - 3 .

[0044] In operation S201 - 1 , a cross-platform desktop application development tool is used to call an interface of a native system to build an application program, so as to realize the construction of a view interaction page and application functions of a file management application.

[0045] In operation S201 - 2 , inter-process communication of the file management application during data processing is implemented based on a cross-platform desktop application development tool.

[0046] In operation S201 - 3 , a cross-platform desktop application development tool is used to call an interface related to a storage function to implement data storage in a file management application.

[0047] In operation S202, file management is performed using a file management application.

[0048] According to an embodiment of the present disclosure, the above-mentioned file management application is, for example, software with file management and editing functions, in which, for example, new files can be created, local files can be imported, various files can be managed, files can be edited with an editor, and cloud files can be automatically downloaded to the local computer. The above-mentioned cross-platform desktop application development tool can be, for example, Electron open source software. Among them, Electron is an open source framework jointly maintained by GitHub and an active community of many contributors, which can encapsulate system APIs (application programming interfaces) internally, so that these system APIs can be directly accessed using JavaScript during application development, that is, using Electron's function of calling native system interfaces, combined with traditional front-end technology, cross-platform desktop applications can be easily built.

[0049] Through the above-mentioned embodiments of the present disclosure, a file management and editing software is designed based on the API module provided by the Electron open source software and the system API intercommunication, which has the characteristics of convenient, fast and cross-platform. In addition, since Electron provides a rich API, it provides convenience for developers in the application development process and is more friendly to developers.

[0050] Reference below Figure 3 to Figure 5 , combined with the specific embodiments, Figure 2 The method shown is further explained.

[0051] Figure 3The system relationship diagram of the file management application according to the embodiment of the present disclosure is schematically shown.

[0052] like Figure 3 As shown in FIG. 1 , the system relationship diagram is, for example, a display of some functional modules of a desktop file management application built based on the above-mentioned Electron open source software. Figure 3 It can be seen that the file management application may include three parts, for example: a view layer that completes various interactions, a node layer that is responsible for file operations and network requests, and an object storage part.

[0053] according to Figure 3 In the embodiment shown, the above view interaction page can be presented as Figure 3 The view layer (view layer) in the file management application software may include, for example, the view layer may be implemented by react (a front-end development language) technology, and the functions of the view layer may include, for example, implementing various interactions in the file management application software. The above application functions may include, for example, Figure 3 The functions corresponding to the view layer, node layer and object storage part in the above data storage can be represented as follows: Figure 3 The object storage module in the object storage module can be implemented using various cloud storage platforms (such as Qiniu Cloud, etc.), and the functions of the object storage module can include synchronizing local files to the cloud and providing download services. The above-mentioned inter-process communication can be based on Electron using IPC (Inter-Process Communication, which refers to the process of data exchange between two processes) to communicate between processes.

[0054] It should be noted that in the process of selecting a cloud platform for implementing the above-mentioned object storage module, by selecting a suitable cloud storage platform (such as Qiniu Cloud), you can use a rich SDK (Software Development Kit), so that file updates can be more timely and accurate.

[0055] According to the above-mentioned embodiment of the present disclosure, the construction process of the above-mentioned file management application may also include, for example: obtaining a third-party open source rich text editor; and using the rich text editor as a lightweight markup language editor of the file management application.

[0056] according to Figure 3In the embodiment shown, the lightweight markup language editor (i.e., markdown editor) can be used to implement Figure 3 The construction of markdown management software in .

[0057] Figure 4 The system flow chart of the file management application according to the embodiment of the present disclosure is schematically shown.

[0058] like Figure 4 As shown, the displayed process includes, for example, an application construction process and a data processing process in the application, wherein the application construction process includes, for example, operations S401 to S405, and the data processing process in the application includes, for example, operations S406 to S408.

[0059] In operation S401, an application system is determined.

[0060] According to an embodiment of the present disclosure, the application system may be determined as follows, for example: Figure 3 The file management application shown corresponds to the system.

[0061] It should be noted that the file management application is only a specific implementation method determined in this embodiment. In actual applications, the application system can also be determined as other systems. By executing operations corresponding to operations S402 to S408 on the corresponding system, the construction of the corresponding system can be completed.

[0062] In operation S402, the project is constructed.

[0063] According to an embodiment of the present disclosure, the construction process of the above-mentioned file management application system may, for example, include: a Web application with Electron as the main body and react as the view layer. By creating a react project, introducing Electron, and configuring the project, the project construction process (i.e., the development of the file management application) can be completed.

[0064] According to an embodiment of the present disclosure, in the above-mentioned construction process, for example, the Electron main process can realize the creation of the application window and provide various modules of the native application, and the Electron rendering process provides the browser environment.

[0065] In operation S403, communication is performed.

[0066] According to an embodiment of the present disclosure, for the above-mentioned file management application system, for example, IPC can be used based on Electron to implement inter-process communication.

[0067] In operation S404, static pages of various functional modules are developed.

[0068] According to the embodiment of the present disclosure, the static page is, for example, the view layer in the above-mentioned file management application system, and the operation can be implemented, for example, by react technology. In this operation (i.e., when constructing the view layer), simple interface drawing can be implemented, for example, by using HTML's SVG (a language that uses XML to describe two-dimensional graphics and drawing programs) or Canvas (an element of HTML5 that uses JavaScript to draw images on a web page), and simple motion effects (animation effects) can be implemented, for example, by using CSS Animations (an animation function in CSS) or the Web Animations API.

[0069] In operation S405, markdown editor.

[0070] According to an embodiment of the present disclosure, in order to further improve the functions of the above-mentioned file management application system, in the above-mentioned construction process, for example, you can also choose to use a third-party open source rich text editor as a markdown editor, and combine it with react to complete the construction of other single-page applications.

[0071] According to an embodiment of the present disclosure, based on the markdown editor, the above operation S202 may, for example, include: editing local files based on a lightweight markup language editor (i.e., a markdown editor); and using a cross-platform desktop application development tool (such as Electron) to call an interface (API) related to the storage function to store local files in a preset network space.

[0072] According to an embodiment of the present disclosure, the above-mentioned preset network space can be determined according to the user's account, for example, and the system can allocate the same or different network spaces to different users according to the user account.

[0073] In operation S406, the application state and application data flow are analyzed and processed.

[0074] According to the embodiments of the present disclosure, due to the unidirectional data flow characteristics of react, the data flow in the above-mentioned file management application system is passed to each component from top to bottom, and the data processing method can be added to the actual file management application App through the callback function method. The data processing can, for example, be the addition, deletion, modification and query of variables created in the JavaScript running environment.

[0075] In operation S407 , the data is persisted.

[0076] According to an embodiment of the present disclosure, the data in the above-mentioned file management application system can be saved using Electron-store, for example. Based on this, a simpler data persistence solution can be provided for the file management application App.

[0077] According to a specific embodiment of the present disclosure, the operation may be, for example, as follows: storing files created or modified locally or in a markdown editor in a specific location (i.e., the preset network space mentioned above) so that the location can be directly accessed the next time the application is opened to use the files stored in the location. In an actual application scenario, after a user applies for an account in the above-mentioned file management application system, the system will allocate a specific network space (i.e., the preset network space mentioned above) to the user. When the user logs in to the file management application system using the account, the specific network space can be accessed. The access process may include, for example: files created locally by the user can be synchronously uploaded to the specific network space; for files that have been synchronously uploaded, the user can log in to the account on other devices, access the specific network space, and perform operations such as adding, deleting, modifying, and checking files in the specific network space.

[0078] In operation S408, the cloud file reversely synchronizes data to the local computer.

[0079] According to an embodiment of the present disclosure, the cloud file may be, for example, a file created locally or in a markdown editor and then uploaded to the above-mentioned specific network space, and then stored in the specific network space. The process of reversely synchronizing data to the local is, for example, the process of downloading the cloud file to the local.

[0080] According to an embodiment of the present disclosure, with respect to the data processing flow in the above-mentioned application (i.e., the above-mentioned operations S406 to S408), in order to realize persistent storage of data of the above-mentioned cloud files, for example, a cloud service technology that is more suitable for the present embodiment can be selected from the current Internet environment to design an object storage platform for the above-mentioned file management application, so as to realize storage, uploading and downloading of static resources (such as the above-mentioned files, etc.) through the object storage platform.

[0081] According to a specific embodiment of the present disclosure, for example, a flat cloud service platform can be selected as the object storage platform. The object name of the platform can be used as a domain name address, for example. In actual applications, once the object name is set to a public state, all users can access the object storage platform, including processing files in the corresponding network space by logging into an account.

[0082] Through the above-mentioned embodiments of the present disclosure, network access control, local file system access control, etc. can be supported by Node.js, interface drawing and dynamic effects can be implemented using basic HTML and CSS, and by encapsulating the system API through Electron, users can directly call the Node.js API in the page and can interact directly with the underlying operating system, so that the above-mentioned file management application with the function of automatically downloading cloud files can be implemented by parsing Electron. At the same time, the introduction of Electron technology can also make up for the shortcomings of Node.js and front-end technology in accessing system APIs, and can effectively solve the difficulties in traditional desktop application development such as the inability to separate design and code, complex security technology, and the inability to develop cross-platform applications, so that cross-platform desktop applications can be developed more conveniently and quickly based on these technologies.

[0083] According to an embodiment of the present disclosure, corresponding to the above-mentioned operation S408, the above-mentioned operation S202 may also be expressed as: in response to a download request, obtaining a cloud file to be downloaded, wherein the cloud file to be downloaded includes local files that already exist locally and files that do not exist locally; in a case where the cloud file to be downloaded already exists locally, updating the local file to the cloud file to be downloaded; and in a case where the cloud file to be downloaded does not exist locally, storing the cloud file to be downloaded locally.

[0084] According to an embodiment of the present disclosure, the above-mentioned response to the download request to obtain the cloud file to be downloaded may also include, for example: obtaining the cloud files stored in the preset network space; traversing the local files, comparing the cloud files with the local files, and obtaining a target cloud file that is different from the local file; and using the target cloud file as the cloud file to be downloaded.

[0085] According to an embodiment of the present disclosure, the above-mentioned cloud file is, for example, always the latest version of the file saved by the user, and the above-mentioned target cloud file is a cloud file that is different from the file attributes, file content and / or other relevant information of the local file. For example, it can be a newer file relative to the local file, or it can be a file that does not exist in the local file.

[0086] Figure 5 The following schematically shows a workflow diagram of automatic file downloading of a file management application according to an embodiment of the present disclosure.

[0087] like Figure 5 As shown, a process for realizing reverse synchronization of cloud file data to local in the above operation S408 is shown, that is, a process for realizing automatic file download according to the above file management application system is shown, and the process may include operations S501 to S509, for example.

[0088] In operation S501, a file list is acquired.

[0089] According to an embodiment of the present disclosure, the file list obtained in the operation is, for example, a cloud file stored in the object storage platform or a cloud file list constructed by related attributes or information of the cloud file.

[0090] In operation S502, the files to be downloaded are generated by comparison with local files and filtering.

[0091] According to an embodiment of the present disclosure, before executing this operation, it is necessary to first obtain a local file or a local file list constructed by relevant attributes or information of the local file. This operation, for example, is to compare the cloud file (or cloud file list) obtained in operation S501 with the local file (or local file list) obtained in this operation, and generate a file to be downloaded (i.e., the above-mentioned target cloud file) by filtering out cloud files that are completely consistent with the local file (including file content, attributes and other information are completely consistent). The file to be downloaded can be represented in the form of a file set or list, for example.

[0092] In operation S503, an array of download files is generated using the filtered list and executed.

[0093] According to an embodiment of the present disclosure, the filtered list is, for example, a file set or list generated in the above operation S502 for representing files to be downloaded. The filtered list can be stored in an array, so that a subsequent operation process can be performed on the list (or the cloud file corresponding to the list) in an array, and the operation process can include, for example, a network request process and a data (such as a file, etc.) request process. The data request process can include, for example, multiple data request processes, and each data request process can be used to request or obtain one or a piece of data.

[0094] In operation S504, a new file list is generated.

[0095] According to an embodiment of the present disclosure, the operation is, for example, performed when the network request process in operation S503 is successful, or it may be performed when both the network request process and the data request process in operation S503 are successful, so as to generate a new file list, i.e., the above-mentioned cloud files to be downloaded or their corresponding lists. The new file list may, for example, exist in the form of a file, or may also exist in the form of a list constructed by relevant attributes or information of the file.

[0096] It should be noted that, when the network request process is successful but part of the data request process is unsuccessful, for example, the data or files requested by the unsuccessful data request process can be ignored, and the remaining data request processes can be continued, and when the remaining data request processes are successful, the new file list can be generated based on the data or files requested by the remaining data request processes. At this time, the new file list may be inconsistent with the filtered list in the above operation S503. When both the network request process and the data request process are successful, the new file list generated is, for example, consistent with the filtered list in the above operation S503.

[0097] In operation S505, the downloading fails.

[0098] According to an embodiment of the present disclosure, the operation is, for example, performed when the network request process in operation S503 fails. The execution process may, for example, prompt the download failure by popping up an information box.

[0099] In operation S506, it is determined whether the data already exists locally.

[0100] According to an embodiment of the present disclosure, this operation serves as a judgment process, for example, for verifying whether the data in the new file list generated in the above operation S504 (i.e., the above cloud file to be downloaded) already exists in the local file list, so as to determine whether the local file needs to be updated or the new file needs to be directly inserted into the local file.

[0101] In operation S507, the existing record is updated.

[0102] In operation S508, local data and interface are updated.

[0103] According to an embodiment of the present disclosure, the above operations S507 to S508 are, for example, performed when the judgment result of the above operation S506 is yes (that is, the cloud file to be downloaded already exists locally). In operation S507, for example, the operation of downloading the cloud file to be downloaded and updating the information of the existing local files (for example, updating the corresponding local files to the cloud files) can be performed. In operation S508, for example, the operation of updating the local files and the interface can be performed.

[0104] In operation S509, a new record is inserted.

[0105] According to an embodiment of the present disclosure, this operation is performed, for example, when the judgment result of the above operation S506 is no (that is, the cloud file to be downloaded does not exist locally). This operation can, for example, download the cloud file to be downloaded and store the cloud file locally.

[0106] Through the above-mentioned embodiments of the present disclosure, the files updated in the cloud can be reversely synchronized (ie, automatically downloaded) to the local computer.

[0107] Through the above-mentioned embodiments of the present disclosure, a desktop file management application that can realize file management functions is constructed by adopting Electron cross-platform desktop development technology. By using JavaScript, CSS, HTML and other technologies, based on Chromium (the engine behind Google's Chrome browser, whose purpose is to create a safe, stable and fast universal browser), Node.js constructs a cross-platform application that can be applied to systems such as Mac, Windows and Linux. It is convenient to call the system API through Node.js, use SQLite (a lightweight database) to cache local dictionary items, and can also carry out complex calculation logic on the client side, thereby reducing the pressure on the server side, being more friendly to front-end developers, and at the same time, the development process of front-end development is not affected, further greatly improving development efficiency.

[0108] Figure 6 A block diagram of a file management device according to an embodiment of the present disclosure is schematically shown.

[0109] like Figure 6 As shown, the file management device 600 includes a calling module 610 and a management module 620 .

[0110] The calling module 610 is used to call a file management application, wherein the file management application is built based on a cross-platform desktop application development tool with a function of calling a native system interface.

[0111] The management module 620 is used to manage files using a file management application.

[0112] According to the embodiments of the present disclosure, by adopting the calling of a file management application, wherein the file management application is built based on a cross-platform desktop application development tool with the function of calling a native system interface; and the technical means of using the file management application to perform file management, since the introduced cross-platform desktop application development tool can directly call the system interface, the file management application built based on it can run on various platforms, at least partially overcoming the technical problem that desktop applications and software developed in a traditional way cannot run flexibly on various platforms, thereby achieving the technical effect of optimizing development effects and improving user satisfaction.

[0113] According to an embodiment of the present disclosure, the construction process of the file management application in the above-mentioned file management device includes a construction unit, a communication unit and a first storage unit.

[0114] The construction unit is used to use the cross-platform desktop application development tool to call the interface of the native system to build an application program, so as to realize the construction of the view interaction page and application functions of the file management application.

[0115] The communication unit is used to implement inter-process communication of the file management application when performing data processing based on the cross-platform desktop application development tool.

[0116] The first storage unit is used to use a cross-platform desktop application development tool to call an interface related to a storage function to implement data storage in a file management application.

[0117] According to an embodiment of the present disclosure, the construction process of the file management application in the above-mentioned file management device may further include a first acquisition unit and a definition unit.

[0118] The first acquisition unit is used to acquire a third-party open source rich text editor.

[0119] Defines a unit for using a rich text editor as a lightweight markup language editor for file management applications.

[0120] According to an embodiment of the present disclosure, the management module includes an editing unit and a second storage unit.

[0121] The editing unit is used to edit local files based on a lightweight markup language editor.

[0122] The second storage unit is used to store local files in a preset network space by using a cross-platform desktop application development tool to call an interface related to a storage function.

[0123] According to an embodiment of the present disclosure, the management module may further include a second acquisition unit, an update unit and a third storage unit.

[0124] The second acquisition unit is used to acquire the cloud files to be downloaded in response to the download request, wherein the cloud files to be downloaded include local files that already exist locally and files that do not exist locally.

[0125] The updating unit is used to update the local file to the cloud file to be downloaded when the cloud file to be downloaded already exists locally.

[0126] The third storage unit is used to store the cloud file to be downloaded locally when the cloud file to be downloaded does not exist locally.

[0127] According to an embodiment of the present disclosure, the second acquisition unit includes an acquisition subunit, a comparison subunit and a definition subunit.

[0128] The acquisition subunit is used to acquire the cloud files stored in the preset network space.

[0129] The comparison subunit is used to traverse the local files, compare the cloud files with the local files, and obtain the target cloud files that are different from the local files.

[0130] A subunit is defined for taking a target cloud file as a cloud file to be downloaded.

[0131] According to an embodiment of the present disclosure, the above-mentioned preset network space is determined according to the user's account.

[0132] According to the embodiments of the present invention, any one or more of the modules, units, and sub-units, or at least part of the functions of any one of them can be implemented in one module. According to the embodiments of the present invention, any one or more of the modules, units, and sub-units can be split into multiple modules for implementation. According to the embodiments of the present invention, any one or more of the modules, units, and sub-units can be at least partially implemented as hardware circuits, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), systems on chips, systems on substrates, systems on packages, application specific integrated circuits (ASICs), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging the circuit, or in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, according to the embodiments of the present invention, one or more of the modules, units, and sub-units can be at least partially implemented as computer program modules, and when the computer program modules are run, the corresponding functions can be performed.

[0133] For example, any multiple of the calling module 610 and the management module 620 can be combined in one module / unit / sub-unit for implementation, or any one of the modules / units / sub-units can be split into multiple modules / units / sub-units. Alternatively, at least part of the functions of one or more of these modules / units / sub-units can be combined with at least part of the functions of other modules / units / sub-units and implemented in one module / unit / sub-unit. According to an embodiment of the present disclosure, at least one of the calling module 610 and the management module 620 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware and firmware or in any appropriate combination of any of them. Alternatively, at least one of the calling module 610 and the management module 620 can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding function can be executed.

[0134] It should be noted that the file management device part in the embodiment of the present disclosure corresponds to the file management method part in the embodiment of the present disclosure. The description of the file management device part specifically refers to the file management method part, which will not be repeated here.

[0135] Figure 7 A block diagram of a computer system suitable for implementing the method described above according to an embodiment of the present disclosure is schematically shown. Figure 7 The computer system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0136] like Figure 7 As shown, the computer system 700 according to the embodiment of the present disclosure includes a processor 701, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 702 or the program loaded from the storage part 708 to the random access memory (RAM) 703. The processor 701 may include, for example, a general-purpose microprocessor (such as a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (for example, an application-specific integrated circuit (ASIC)), etc. The processor 701 may also include an onboard memory for caching purposes. The processor 701 may include a single processing unit or multiple processing units for performing different actions of the method flow according to the embodiment of the present disclosure.

[0137] In RAM 703, various programs and data required for the operation of system 700 are stored. Processor 701, ROM 702 and RAM 703 are connected to each other through bus 704. Processor 701 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 702 and / or RAM 703. It should be noted that the program can also be stored in one or more memories other than ROM 702 and RAM 703. Processor 701 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.

[0138] According to an embodiment of the present disclosure, the system 700 may further include an input / output (I / O) interface 705, which is also connected to the bus 704. The system 700 may further include one or more of the following components connected to the I / O interface 705: an input section 706 including a keyboard, a mouse, etc.; an output section 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 708 including a hard disk, etc.; and a communication section 709 including a network interface card such as a LAN card, a modem, etc. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 710 as needed, so that a computer program read therefrom is installed into the storage section 708 as needed.

[0139] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program contains a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 709, and / or installed from the removable medium 711. When the computer program is executed by the processor 701, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.

[0140] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0141] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, apparatus, or device.

[0142] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 702 and / or the RAM 703 described above and / or one or more memories other than the ROM 702 and the RAM 703 .

[0143] An embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains a program code for executing the method provided by the embodiment of the present disclosure. When the computer program product runs on an electronic device, the program code is used to enable the electronic device to implement the file management method provided by the embodiment of the present disclosure.

[0144] When the computer program is executed by the processor 701, the above functions defined in the system / device of the embodiment of the present disclosure are executed. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.

[0145] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 709, and / or installed from the removable medium 711. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0146] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).

[0147] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box may also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions. It can be understood by those skilled in the art that the features recorded in the various embodiments and / or claims of the present disclosure can be combined and / or combined in a variety of ways, even if such a combination or combination is not explicitly recorded in the present disclosure. In particular, without departing from the spirit and teaching of the present disclosure, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0148] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A file management method, comprising: Calling a file management application, wherein the file management application is built based on a cross-platform desktop application development tool with a function of calling a native system interface, and the building process includes: Using the cross-platform desktop application development tool to call the interface of the native system to build an application program, so as to realize the construction of the view interaction page and application functions of the file management application, wherein the file management application includes a view layer and a node layer, wherein the view layer realizes the interface drawing function based on the front-end development language, and the node layer realizes the file operation function based on the development platform running on the server side; Implementing inter-process communication of the file management application when performing data processing based on the cross-platform desktop application development tool; and Using the cross-platform desktop application development tool to call an interface related to the storage function to implement data storage in the file management application; and The file management application is used to manage files.

2. The method according to claim 1, wherein: The construction process of the file management application includes: Obtain a third-party open source rich text editor; and The rich text editor is used as a lightweight markup language editor for the file management application.

3. The method according to claim 2, wherein: Using the file management application to manage files includes: Editing local files based on the lightweight markup language editor; and The cross-platform desktop application development tool is used to call an interface related to a storage function to store the local file in a preset network space.

4. The method according to claim 1, wherein: Using the file management application to manage files includes: In response to the download request, obtaining the cloud files to be downloaded, wherein the cloud files to be downloaded include local files that already exist locally and files that do not exist locally; If the cloud file to be downloaded already exists locally, updating the local file to be the cloud file to be downloaded; and In the case that the cloud file to be downloaded does not exist locally, the cloud file to be downloaded is stored locally.

5. The method according to claim 4, wherein: In response to the download request, obtaining the cloud file to be downloaded includes: Get the cloud files stored in the preset network space; Traversing the local files, comparing the cloud file with the local file, and obtaining a target cloud file that is different from the local file; and The target cloud file is used as the cloud file to be downloaded.

6. The method according to claim 3, wherein: The preset network space is determined according to the user's account.

7. A file management device, comprising: A calling module, used to call a file management application, wherein the file management application is built based on a cross-platform desktop application development tool with a function of calling a native system interface, and the file management application includes a view layer and a node layer, the view layer implements an interface drawing function based on a front-end development language, and the node layer implements a file operation function based on a development platform running on a server; and A management module is used to perform file management using the file management application.

8. A computer system comprising: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enables the processor to implement the method according to any one of claims 1 to 6.

10. A computer program product comprising computer executable instructions, which are used to implement the method of any one of claims 1 to 6 when executed.

Citation Information

Patent Citations

  • Portable storage devices based on cloud storage

    CN109327526A

  • Application program interface calling method and device

    CN110109718A

  • Document management system

    CN111045990A