Localization method of application software and edge server
By deploying application software on edge servers and storing application data, data leakage and operation efficiency issues under cloud server deployment are solved, and more efficient and secure application software operation is achieved.
Patent Information
- Application Number
- CN202310969401.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-02
- Publication Date
- 2025-02-14
AI Technical Summary
In the prior art, enterprise software is deployed on cloud servers, resulting in high risk of data leakage, network problems affecting the operation of software, and maintenance and upgrades take up a lot of time and resources.
By deploying application software on an edge server and storing application data in the database and object storage system provided by the edge server, the operation efficiency of application software is improved and the security of application data is solved.
It improves the operation efficiency of application software, enhances the security of application data, and reduces the maintenance and upgrade time and resource consumption.
Smart Images

Figure CN119440547A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of software management technology, and in particular to a localization method and an edge server for application software. Background Art
[0002] The development of cloud server technology provides technical support for the deployment of enterprise software on cloud servers. Since cloud servers have higher processing power and larger storage space, more and more companies choose to deploy enterprise software on cloud servers to adapt to corporate needs and expand faster.
[0003] Currently, it is common to select a cloud server and deploy the software required by the enterprise on the selected cloud server. The cloud server provides maintenance and upgrade services for the enterprise software, regularly maintains and upgrades the enterprise software, and provides storage space for the enterprise software.
[0004] In the existing technology, since enterprise software is deployed on cloud servers, the internal data of the enterprise is also stored on the cloud servers. Once the data is leaked, it will cause huge losses to the enterprise. Moreover, if there is a problem with the cloud server network, the operation of the enterprise software will also be affected, and the maintenance and upgrade of the software will take up a lot of time and resources. Summary of the invention
[0005] In order to solve the above technical problems, the embodiments of the present application provide a localization method and an edge server for application software to solve the problem of application software operation efficiency and the problem of application data security.
[0006] The embodiments of the present application provide the following technical solutions:
[0007] In a first aspect, an embodiment of the present application provides a method for localizing application software, which is applied to an edge server, and the edge server includes a database and an object storage system, including:
[0008] Obtain application software and deploy the application software on the edge server;
[0009] Acquiring application data output by the application software, wherein the application data includes structured data and unstructured data, the structured data includes text data, and the unstructured data includes video data and / or audio data;
[0010] Store unstructured data in object storage systems and structured data in databases.
[0011] In some embodiments, the edge server includes a containerization tool;
[0012] Obtain application software and deploy it on edge servers, including:
[0013] Obtaining the installation package and its dependencies corresponding to the application software, packaging the installation package and its dependencies, and obtaining a packaged application program;
[0014] Use containerization tools to deploy packaged applications on edge servers.
[0015] In some embodiments, the object storage system includes a programming interface;
[0016] Obtain application data output by application software, including:
[0017] Obtain application data output by application software through programming interfaces;
[0018] Storing unstructured data in object storage systems and storing structured data in databases, including:
[0019] Processing the unstructured data and the structured data to obtain processed data, wherein the processed data includes the processed unstructured data and the processed structured data;
[0020] The processed unstructured data is stored in an object storage system, and the processed structured data is stored in a database.
[0021] In some embodiments, the object storage system includes a software development kit;
[0022] Before obtaining the application data output by the application software through the programming interface, include:
[0023] Through the software development kit, call the programming interface to obtain the application data of the application software; or
[0024] Get the network request, and call the programming interface through the network request to obtain the application data of the application software.
[0025] In some embodiments, unstructured data and structured data are processed to obtain processed data, including:
[0026] Performing format conversion on the unstructured data to obtain first data, wherein the first data is the processed unstructured data;
[0027] The structured data is filtered and formatted to obtain second data, wherein the second data is the processed structured data.
[0028] In some embodiments, the database includes database management tools, including:
[0029] Set access permissions for unstructured data through programming interfaces;
[0030] Use database management tools to set access permissions for structured data.
[0031] In some embodiments, the method further comprises:
[0032] Obtain the communication address and access port of the application software;
[0033] Set access permissions for communication addresses and access ports according to preset rules.
[0034] In some embodiments, the method comprises:
[0035] The output data of the application software is encrypted according to the preset data encryption tool.
[0036] In some embodiments, the edge server includes an application center, which includes an installation package corresponding to the application software and its dependencies, including:
[0037] Get the application software and its corresponding dependencies from the application center;
[0038] Update application software based on dependencies.
[0039] In a second aspect, an embodiment of the present application provides an edge server, including:
[0040] At least one processor and at least one memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the localization method of application software of the first aspect.
[0041] The beneficial effects of the implementation of the present application are as follows: Different from the prior art, the implementation of the present application provides a method for localizing application software, the method comprising: obtaining application software, and deploying the application software on an edge server, obtaining application data output by the application software, wherein the application data includes structured data and unstructured data, the structured data includes text data, and the unstructured data includes video data and / or audio data, storing the unstructured data in an object storage system, and storing the structured data in a database. By deploying the application software on an edge server, and storing the application data output by the application software in a database and an object storage system provided by the edge server, the present application can improve the operating efficiency of the application software and solve the security problem of the application data. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] One or more embodiments are exemplarily described by corresponding drawings, which do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and the figures in the drawings do not constitute proportional limitations unless otherwise stated.
[0043] Figure 1 is a schematic diagram of an application environment provided by an embodiment of the present application;
[0044] Figure 2 It is a flowchart of a method for localizing application software provided in an embodiment of the present application;
[0045] Figure 3 yes Figure 2 A detailed flow chart of step S201 in FIG.
[0046] Figure 4 It is a schematic diagram of the process of obtaining application data by calling the programming interface in this application;
[0047] Figure 5 yes Figure 2 A detailed flow chart of step S202 in FIG.
[0048] Figure 6 yes Figure 5 A detailed flow chart of step S222 in FIG.
[0049] Figure 7 yes Figure 6 A detailed flow chart of step S2201 in FIG.
[0050] Figure 8 This is a flowchart of setting access permissions for application data in this application;
[0051] Fig. 9 It is a flowchart of setting access rights according to preset rules in this application;
[0052] Fig.10 It is a schematic diagram of the process of encrypting data in this application;
[0053] Fig.11 It is a flowchart of updating the application software in this application;
[0054] Fig.12 It is a structural diagram of a localization device for application software provided in an embodiment of the present application;
[0055] Fig.13 It is a structural diagram of an edge server provided in an embodiment of the present application.
[0056] Description of Figure Numbers:
[0057] Label name Label name 100 Application Environment 2002 Memory 10 Electronic devices 1200 Application software localization device 20 Edge Server 121 Application software acquisition module 30 Cloud Server 122 Application data acquisition module 2001 processor 123 Application data storage module DETAILED DESCRIPTION
[0058] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0059] It should be noted that, if there is no conflict, the various features in the embodiments of the present application can be combined with each other, and all are within the scope of protection of the present application. In addition, the words "first", "second", etc. used in the present application do not limit the data, but only divide the same or similar items with basically the same functions and effects.
[0060] The technical solution of the present application is described in detail below in conjunction with the accompanying drawings:
[0061] See also Figure 1 , Figure 1 is a schematic diagram of an application environment provided by an embodiment of the present application;
[0062] like Figure 1 As shown, the application environment 100 includes: an electronic device 10, an edge server 20, and a cloud server 30, wherein the cloud server 30 provides application software for the edge server 20, the edge server 20 is used to deploy and maintain application software, the electronic device 10 is used to access the application software deployed on the edge server 20, the electronic device 10 is connected to the edge server 20 via a wireless network or a wired interface, and the edge server 20 is connected to the cloud server 30 via a wireless network. It can be understood that the electronic device 10 includes a tablet computer, a computer terminal and other network-connected devices, the edge server 20 is composed of related components such as a database, a configuration management tool, a container engine, etc., the cloud server 30 is composed of related components such as a hardware system, a management and control tool, a database, etc., the wired interface includes interfaces such as RJ-45, RJ-11, DB-9, DB-25, etc., and the wireless interface includes wireless networks such as Bluetooth and wireless LAN.
[0063] In an embodiment of the present application, the cloud server 30 provides a wireless interface for the edge server 20 so that the edge server 20 can identify and obtain resources such as application software on the cloud server 30. The edge server 20 provides a wired interface or a wireless interface for the electronic device 10 so that the electronic device 10 can obtain and identify the server's information, thereby enabling the electronic device 10 to access the application software of the server 20.
[0064] See also Figure 2 , Figure 2 It is a flowchart of a method for localizing application software provided in an embodiment of the present application;
[0065] The localization method of the application software is applied to the edge server. Specifically, the execution subject of the localization method of the application software is one or at least two processors of the edge server.
[0066] like Figure 2 As shown, the method includes:
[0067] Step S201: Obtain application software and deploy the application software on an edge server;
[0068] In the embodiments of the present application, the application software is mainly an enterprise application software. In order to adapt to the business needs of the enterprise, the present application provides a variety of server architectures, including single-server structure, multi-server structure, distributed server architecture and other server architectures.
[0069] The specific server architecture to be selected is determined by the size of the enterprise, budget and other factors. Different types of server architectures are suitable for different application scenarios. For example, for enterprises involving confidential data, they may prefer to choose a domestic architecture because of the security and privacy of the data. For example, a medium-sized enterprise involving confidential data may need to choose a server architecture that can support its business scale, meet data security requirements, and adapt to its technical and budgetary needs. It should choose to use a domestic server architecture.
[0070] In an embodiment of the present application, the application software is deployed on an edge server or a local server that is close to the enterprise.
[0071] Specifically, the edge server downloads the installation package of the application software required by the enterprise, such as conference software, network software, etc., from the cloud server, and installs the downloaded installation package in the edge server close to the enterprise.
[0072] In the embodiment of the present application, selecting an edge server to install application software can improve the operating efficiency of the application software.
[0073] Please refer to Figure 3 , Figure 3 yes Figure 2 A detailed flow chart of step S201 in FIG.
[0074] Among them, the edge server provides a containerization tool for the application software. The containerization tool uses containerization technology, such as the application container engine (Docker). Containerization technology is a lightweight virtualization technology that can package the application and its dependencies in a restricted environment to form a standard, portable unit to ensure the portability and security of the application.
[0075] like Figure 3As shown, step S201 includes:
[0076] Step S211: obtaining an installation package corresponding to the application software and its dependencies, and packaging the installation package and its dependencies to obtain a packaged application;
[0077] In an embodiment of the present application, the application software usually depends on some other software or system or server to be used. Before installing the installation package corresponding to the application software, it is necessary to introduce or install the dependencies corresponding to the application software, where the dependencies can be references to other software programs or components, library files, header files, dependent operating system components or other resources.
[0078] Specifically, the installation package corresponding to the application software and its dependencies are downloaded from the cloud server, and the installation package corresponding to the application software and its dependencies are packaged through containerization technology to obtain a container image to ensure that the files and libraries required by the application software are included in a container, and the application corresponding to the packaged application software is obtained, which can be directly installed in the edge server.
[0079] Step S212: Deploy the packaged application to the edge server through a containerization tool;
[0080] In an embodiment of the present application, the containerization tool can also be used to deploy applications.
[0081] Specifically, the container image corresponding to the application software is started through the relevant commands of the container, and the application program and dependencies corresponding to the application software in the container are installed in the edge server.
[0082] In an embodiment of the present application, the installation package and dependencies corresponding to the application software are packaged through containerization technology, and the packaged application is installed in the edge server. For example: in a DevOps environment, a Dockerfile is created, a Docker is created through the Dockerfile, and then a container is created through Docker. The container is used to package the application and dependencies corresponding to the application software. When installing the application, the container created by Docker is started through the relevant commands in Docker, and then the application and dependencies in the container are installed.
[0083] In an embodiment of the present application, the application software can also be configured and deployed through automation tools in the edge service, such as Ansible, Chef, Puppet and other automation tools, which can automatically configure and deploy application software.
[0084] Specifically, a declarative configuration file or script is configured in the system installed in the edge server, and the configuration file or script describes the system status or software that needs to be installed. The automation tool recognizes the configuration file or script and automatically adjusts the system status or installs the corresponding application software according to the relevant information in the configuration file or script. For example:
[0085] Write an Ansible playbook document, describe in the document which installation packages the system needs to install, which services to start, and which files to configure, and then run the playbook. The Ansible automation tool will automatically execute the tasks described in the playbook on the edge server. When you need to install application software, write the relevant files, dependencies and other information required by the application software in the playbook. When you start the playbook, Ansible will automatically download the installation package and dependencies of the application software, and install the dependencies and installation packages corresponding to the downloaded application software on the edge server.
[0086] In the embodiment of the present application, the compatibility of the application software also needs to be considered when installing the application software, which can be checked in the following ways:
[0087] (1) Make sure that the operating system version of the electronic device meets the system requirements of the software by checking the operating system version of the electronic device. Confirm whether the operating system version is in the supported list.
[0088] (2) Detecting the operating system version; if the operating system version is older than the version supported by the edge server, updating the operating system of the electronic device.
[0089] (3) Check whether the hardware of the electronic device is compatible with the conference software. If the hardware of the electronic device is incompatible with the application software, such as the camera or microphone is incompatible with the application software, update the hardware driver.
[0090] (4) Determine whether the network configuration is correct. If there is an error in the network configuration, which prevents the conference software from running normally, change the relevant network configuration, such as opening ports related to the application software, or setting up requests in the firewall so that the application software can initiate normally.
[0091] In an embodiment of the present application, the installation package and dependencies corresponding to the application software are packaged through containerization technology, and then the application is installed in the edge server. This can ensure that the files and libraries required for the application software are included in one container, avoid the loss of dependencies or incorrect installation and affect the normal operation of the application software, improve the reliability and security of the application software, and packaging the application software through containerization technology can improve the portability of the software and reduce the impact of environmental problems on the application software.
[0092] Step S202: Acquire application data output by the application software, wherein the application data includes structured data and unstructured data, the structured data includes text data, and the unstructured data includes video data and / or audio data;
[0093] In an embodiment of the present application, to ensure that the data has a higher level of protection function, an object storage system, such as Mini, is installed in the edge server, and relevant storage paths, network parameters, etc. are set. The object storage system provides storage services for the enterprise's application software. For example, when the application software is the enterprise's conference software, the conference software provides users with the function of recording meetings. For example, the conference software can record audio, video, text chat records and other data generated during the meeting. By setting the object storage system as the storage backend of the conference software, that is, the audio, video, text chat records and other data recorded in the conference software are stored in the object storage system, so that after the meeting, the data generated by the meeting can still be retrieved and viewed through the object storage system. Usually, during the operation of the conference software, files will be generated through the file sharing function provided in the conference software. The object storage system provides storage and retrieval functions for the files generated by the conference software. In the process of using the conference software, real-time video or real-time face recognition functions will also be realized. At this time, real-time video streams will be generated. The object storage system can also store and process the real-time video streams generated by the conference software, that is, real-time transcoding of the real-time video is performed so that users can quickly obtain the video generated in real time by the conference software.
[0094] Specifically, the application software continuously outputs application data during its operation, and the edge server obtains the application data output by the application software, wherein the application data includes structured data and unstructured data. Structured data refers to data with the same data structure and data type, that is, data that can be stored in a table form, such as text data. Unstructured data refers to data that cannot be converted into data with a fixed data type and format, such as video data or audio data.
[0095] In an embodiment of the present application, the structured data output by the application software is stored in a database in the edge server, and the unstructured data output by the application software is stored in an object storage system. The specific database in the edge server and the object storage system for storing the application data output by the application software are as follows.
[0096] Please refer to Figure 4 , Figure 4 It is a schematic diagram of the process of obtaining application data by calling the programming interface in this application;
[0097] like Figure 4 As shown in the figure, the process of obtaining application data by calling the programming interface includes:
[0098] Step S401: calling a programming interface through a software development kit to obtain application data of the application software;
[0099] In an embodiment of the present application, storing the unstructured data output by the application software in the object storage system requires calling the programming interface (Application Programming Interface, API) provided by the object storage system. Specifically, the object storage system carries a software development kit (Software Development Kit, SDK), and the SDK calls related APIs to access and operate different types of data. That is, the application software can call related APIs through the SDK to interact with the object storage system, for example, calling related APIs through the SDK of the object storage system to store the unstructured data output by the application software in the object storage system.
[0100] Specifically, the application software is connected to the object storage system through a software development kit provided by the object storage system, and then calls a programming interface for obtaining data through the software development kit to obtain unstructured data in the application software through the programming interface.
[0101] Step S402: obtaining a network request, and calling a programming interface through the network request to obtain application data of the application software;
[0102] Specifically, the application software initiates a network request (Hypertext Transfer Protocol, HTTP) to the object storage system. The network request carries request parameters. The object storage system receives the network request and calls the programming interface of the data in the object storage system according to the request parameters corresponding to the network request, and then obtains the unstructured data of the application software through the programming interface.
[0103] In the embodiments of the present application, there are many ways to call the programming interface. How to call the programming interface depends on the implementation language and design of the application software. For example, if the implementation language of the application software is Python, use the Python client of MiniO to call the programming interface to obtain application data, or use Amazon S3-compatible boto3 to call the relevant programming interface to obtain application data, where Amazon is the official S3 library and is compatible with MiniO.
[0104] In an embodiment of the present application, the application software interacts with the object storage system through the programming interface provided by the object storage system, for example: uploading, downloading and storing application data related to the application software through the API provided by Minio, such as storing meeting records or shared files generated by conference software through the API provided by Minio.
[0105] Please refer to Figure 5 , Figure 5 yes Figure 2 A detailed flow chart of step S202 in FIG.
[0106] like Figure 5 As shown, step S202 includes:
[0107] Step S221: Acquire application data output by the application software through a programming interface;
[0108] In an embodiment of the present application, application data output by the application software is stored in a database and an object storage system in the edge server respectively. The database stores structured data, and the object storage system stores unstructured data.
[0109] Specifically, relevant parameters for receiving data are set in the programming interface, and application data output by the application software is obtained according to the parameters.
[0110] Step S222: storing the unstructured data in the object storage system, and storing the structured data in the database;
[0111] Specifically, unstructured data refers to data that cannot be converted into a fixed data type and format, and data that cannot be converted into a fixed data type and format is stored in the object storage system, such as video or audio, while structured data refers to data with the same data structure and data type, and data with the same data structure and data type is stored in the database in the edge server, such as text files.
[0112] Please refer to Figure 6 , Figure 6 yes Figure 5 A detailed flow chart of step S222 in FIG.
[0113] like Figure 6 As shown, step S222 includes:
[0114] Step S2201: Processing unstructured data and structured data to obtain processed data, wherein the processed data includes processed unstructured data and processed structured data;
[0115] In the embodiment of the present application, after obtaining the application data output by the application software, the application data needs to be processed before it can be stored.
[0116] Specifically, the unstructured data and the structured data output by the application software are processed respectively to obtain processed unstructured data and processed structured data. The specific processing method is as follows.
[0117] Please refer to Figure 7 , Figure 7 yes Figure 6 A detailed flow chart of step S2201 in FIG.
[0118] like Figure 7 As shown, step S2201 includes:
[0119] Step S2211: converting the format of the unstructured data to obtain first data, wherein the first data is the processed unstructured data;
[0120] In an embodiment of the present application, unstructured data needs to be processed before it can be stored in the object storage system. For example, some original video files are high-definition files, which usually occupy a relatively large amount of memory. In order to save storage space of the object storage system, the original video files need to be converted into files that occupy less storage space, that is, the original video files need to be transcoded into low resolution or the file size of the original video files needs to be compressed, and then the processed original video files need to be stored in the object storage system.
[0121] Specifically, unstructured data includes video, audio and other unstructured data. The format conversion of unstructured data includes: format conversion by using corresponding format conversion technology, for example: the current video corresponds to the first format, and the object storage system corresponds to the second format. At this time, the first format needs to be converted into the second format. Specifically, the video in the first format is converted into the video in the second format by compression encoding. If the current audio file format is not the audio format required by the user, the audio format is converted according to the user's needs to obtain the processed unstructured data, that is, the first data. For example: the video file is converted to obtain a transcoded video file, and another example is to convert the audio in WAV format into the audio in MP3 format.
[0122] Step S2212: filtering and formatting the structured data to obtain second data, wherein the second data is the processed structured data;
[0123] Specifically, structured data usually contains a lot of irrelevant information, such as timestamps, system messages, etc., so it is necessary to filter the structured data to filter out the irrelevant information, and then convert the format of the filtered structured data to an easy-to-read format, such as CSV or JSON format, to obtain the processed structured data, that is, the second data.
[0124] In an embodiment of the present application, the steps of processing application data output by application software include collection, cleaning, conversion, analysis, etc. For example, video files need to be re-encoded and compressed, and text files need to filter out irrelevant information and format them for easy reading and analysis.
[0125] Step S222: storing the processed unstructured data in the object storage system, and storing the processed structured data in the database;
[0126] Specifically, the processed unstructured data is directly stored in the object storage system, and the processed structured data is directly stored in the database.
[0127] In an embodiment of the present application, the processed unstructured data is stored in the object storage system, including: installing the object storage system in an edge server, and then calling an API provided by the object storage system to upload the processed unstructured data to the object storage system, for example, uploading the processed unstructured data to the object storage system Min IO, installing and configuring Min IO in the edge server, and calling the API using an S3 library compatible with Min IO to upload the processed unstructured data to Min IO, for example: in a Python environment, calling the API through the boto3 library in the S3 library to upload the processed data to Min IO, wherein the boto3 library is Amazon's official S3 library and is compatible with Min IO.
[0128] In an embodiment of the present application, an object storage system is provided to store application data output by application software, which can facilitate the storage and management of application data and avoid the problem of data leakage that may occur when too much data is stored in the database of the edge server.
[0129] Please refer to Figure 8 , Figure 8 This is a flowchart of setting access permissions for application data in this application;
[0130] like Figure 8 As shown in the figure, the process of setting access permissions for application data includes:
[0131] Step S801: Setting access permissions for unstructured data through a programming interface;
[0132] In the embodiment of the present application, in order to ensure the security of application data, it is necessary to set permissions for the application data.
[0133] Specifically, for the security of unstructured data in application data in the object storage system, it is necessary to set access rights to the application data for the object storage system, including: setting a secret key in the programming interface, and performing verification based on the set secret key when accessing application data through the programming interface. Only after the verification is passed can the relevant application data be accessed, for example: setting access rights to the storage bucket in the object storage system Minio, where the storage bucket is used to store and retrieve application data, that is, setting access rights to the application data, and setting a secret key in the programming interface of Minio to limit the access rights to the application data, such as setting the access rights to the application data to public or private.
[0134] In the embodiment of the present application, access permissions for application data may also be set through a configuration management tool in the edge server. There are many specific ways to set access permissions, which are listed here one by one.
[0135] Step S802: Setting access rights to structured data through a database management tool;
[0136] Specifically, the database in the edge server includes a database management tool, which is used to set access permissions for data. The database language (Structured Query Language, SQL) is called through the data management tool, and conditions for structured data access restrictions are added to the database language. The modified database language is saved and run to achieve setting access permissions for structured data.
[0137] In the embodiment of the present application, setting access permissions for application data can effectively ensure the security of the data.
[0138] Please refer to Fig. 9 , Fig. 9 It is a flowchart of setting access rights according to preset rules in this application;
[0139] like Fig. 9 As shown in the figure, the process of setting access rights according to preset rules includes:
[0140] Step S901: Obtain the communication address and access port of the application software;
[0141] In the embodiment of the present application, in order to prevent the application software from being attacked by the network, it is necessary to configure a network firewall on the edge server to allow only specific networks to access or exit.
[0142] Specifically, configuring a network firewall is actually setting access permissions for application software. It is necessary to obtain the communication address and access port of the application software. The communication address and access port of the application software are obtained through a first function, for example, through a get function. The communication address and access port of the application software are then passed into the first function and returned to the edge server.
[0143] Step S902: Setting access rights for the communication address and access port according to preset rules;
[0144] In an embodiment of the present application, the preset rules are the requirements and security policies of the application software, wherein the requirements of the application software include restricted access ports, and the security policies include illegal access control, wherein illegal access control is to set access rights for the IP address of the application software on demand.
[0145] Specifically, according to preset rules, that is, according to the requirements and security policies of the application software, the access port and the restricted IP address restricted by the application software are obtained, and access permissions are set for the communication address and access port of the application software.
[0146] In an embodiment of the present application, access rights are set for the communication address and access port of the application software, including: setting through firewall software, specifically, installing firewall software in the edge server, such as common firewall software, for example: iptables and ufw.
[0147] Obtain the open access ports and restricted IP addresses required by the application software, set the access permissions of the application software in the firewall software, and further test the security of the firewall to ensure that the access permissions of the application software set in the firewall are correct in order not to affect normal network communications.
[0148] Please refer to Fig.10 , Fig.10 It is a schematic diagram of the process of encrypting data in this application;
[0149] like Fig.10 As shown in the figure, the process of encrypting data includes:
[0150] Step S1001: Encrypting output data of the application software according to a preset data encryption tool;
[0151] In the embodiment of the present application, in order to further ensure the security of application data during transmission between the client and the edge server, it is necessary to encrypt the data during transmission, specifically including: encrypting the data during transmission by using an SSL (Secure Socket Layer) certificate and a symmetric encryption algorithm (AES-256), wherein AES-256 requires a 256-bit key to encrypt and decrypt data, for example:
[0152] In Python, to encrypt data by calling the AES-256 encryption algorithm through the pycryptodome library, you need to generate a 256-bit key, then create an AEScipher object, and then encrypt the application data through the cipher object. Since AES is a block cipher, a fixed-size data block (16 bytes) is required for encryption. If the data is not a multiple of 16 bytes, padding needs to be added.
[0153] In an embodiment of the present application, obtaining an SSL certificate and installing it in an edge server specifically includes: submitting a certificate signing request (CSR), wherein the certificate signing request includes a domain name, organization name, city, state, and country; purchasing an SSL certificate from a certificate authority (CA) according to the certificate signing request, or using a service such as Let's Encrypt to obtain a free SSL certificate; installing the obtained SSL certificate in an edge server, wherein an SSL certificate typically includes a certificate and a private key, wherein the certificate includes a .crt file, and the private key includes a .key file; installing the certificate and the private key in the edge server, and how to install them specifically depends on the application software, such as Apache, Nginx, or IIS; and specifying the location of the certificate and the private key in a configuration file related to the application software, and starting Hypertext Transfer Protocol Secure (HTTPS), saving the configuration file related to the application software, and finally restarting the application software to make the configuration file related to the application software take effect.
[0154] Specifically, according to the preset data encryption tool, that is, according to the SSL certificate, a secure connection is established between the client and the edge server, the SSL protocol is used to complete the SSL handshake between the client and the edge server, and the AES-256 encryption algorithm is further called to encrypt the application data transmitted between the client and the edge server.
[0155] In the embodiment of the present application, the application data is encrypted to ensure the security of the data during storage and transmission.
[0156] In the embodiment of the present application, in order to ensure the security of the edge server network, a secure virtual private network is established through VPN technology to ensure the secure transmission of application data on the Internet.
[0157] In an embodiment of the present application, when a user connects to an edge server via a local area network or the Internet, identity authentication is also required to further ensure that only authorized users can use the application software, wherein identity authentication can be verified by a user name and password, by a digital certificate, or by a user name and password in combination with a digital certificate.
[0158] In the embodiment of the present application, a user who has passed the identity authentication in network security can directly obtain the required application data without further verification.
[0159] Please refer to Fig.11 , Fig.11 It is a flowchart of updating the application software in this application;
[0160] like Fig.11 As shown in FIG. 1 , the process of updating the application software includes:
[0161] Step S1101: Obtain application software and its corresponding dependencies from the application center;
[0162] In an embodiment of the present application, the application center is similar to an AppStore, which is used to automatically update the version of the application software. It is installed in the edge server. When the edge server is started, the application center is also started. The application center automatically updates the application software. It is necessary to preset the correspondence between the dependencies of the application software in the application center in advance. For example, the correspondence recorded in a JSON file is stored in the dependencies. When installing the application software, the dependencies recorded in the JSON file are installed first, and then the application software is installed.
[0163] Specifically, according to the application software to be installed, search for dependencies corresponding to the installed application software in the application center.
[0164] Step S1102: updating the application software according to the dependencies;
[0165] Specifically, the file corresponding to the dependency usually provides related functions. The function in the file corresponding to the dependency is obtained, and the function is used to check whether the application software needs to be updated. If necessary, the dependency is updated. The application center then downloads the latest version of the application software based on the updated dependency, and overwrites the corresponding application software in the edge server with the latest version of the application software.
[0166] In the embodiment of the present application, the application software is updated in a timely manner through the application center to obtain the latest functions and security patches.
[0167] In an embodiment of the present application, the method also includes: regularly checking the running status of the edge server, wherein the running status includes CPU usage, memory usage, hard disk space, etc. If the running status is abnormal, it needs to be processed in time, and if the server fails, such as hard disk failure, network failure, etc., it needs to be checked and repaired as soon as possible. For this reason, the edge server provides a monitoring and log system, such as Prometheus, Grafana, ELK (Elasticsearch, Logstash, Kibana), etc., through which the indicators and logs of the system are collected, analyzed, and displayed to help understand the running status of the system, diagnose problems, and analyze performance and trends. For example: Prometheus can regularly collect indicators such as CPU, memory, disk, network, and custom indicators of the application, while Grafana can display charts and dashboards of indicators collected by Prometheus, and ELK can collect, search, and analyze the logs of the system and application. When there is a problem with the system or performance needs to be optimized, the cause of the problem can be found through the monitoring and log system, or where the bottleneck of the system is.
[0168] See also Fig.12 , Fig.12 It is a structural diagram of a localization device for application software provided in an embodiment of the present application;
[0169] like Fig.12 As shown, the localization device 1200 of the application software includes:
[0170] The application software acquisition module 121 is used to acquire the application software and deploy the application software on the edge server;
[0171] The application data acquisition module 122 is used to acquire application data output by the application software, wherein the application data includes structured data and unstructured data, the structured data includes text data, and the unstructured data includes video data and / or audio data;
[0172] The application data storage module 123 is used to store unstructured data in the object storage system and store structured data in the database.
[0173] In the embodiments of the present application, the localization device of the application software may be a software module, which includes a number of instructions stored in a memory. The processor may access the memory and call the instructions for execution to complete the localization method of the application software of each of the above embodiments.
[0174] In the embodiments of the present application, the localization device of the application software can also be constructed by hardware devices. For example, the localization device of the application software can be constructed by one or more chips, and each chip can work in coordination with each other to complete the localization method of the application software described in the above embodiments. For another example, the localization device of the application software can also be constructed by various logic devices, such as a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a single-chip microcomputer, an ARM (Acorn RISC Machine) or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component, or any combination of these components.
[0175] The localization device of the application software in the embodiment of the present application can be a device, or a component, integrated circuit, or chip in a terminal. The device can be a mobile electronic device or a non-mobile electronic device. Exemplarily, the mobile electronic device can be a mobile phone, a tablet computer, a laptop computer, a palmtop computer, an in-vehicle electronic device, a wearable device, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook or a personal digital assistant (personal digital assistant, PDA), etc., and the non-mobile electronic device can be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television, TV), a teller machine or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.
[0176] The localization device of the application software in the embodiment of the present application may be a device having an operating system. The operating system may be an Android operating system, an iOS operating system, or other possible operating systems, which are not specifically limited in the embodiment of the present application.
[0177] The localization device of application software provided in the embodiment of the present application can realize Figure 2 To avoid repetition, the various processes implemented by the method embodiment are not described here.
[0178] It should be noted that the above device can execute the localization method of the application software provided in the embodiment of the present application, and has the functional modules and beneficial effects corresponding to the execution method. For technical details not fully described in the device embodiment, please refer to the localization method of the application software provided in the embodiment of the present application.
[0179] In an embodiment of the present application, a localization device for application software is provided, including an application software acquisition module for acquiring application software and deploying the application software on an edge server, an application data acquisition module for acquiring application data output by the application software, wherein the application data includes structured data and unstructured data, the structured data includes text data, and the unstructured data includes video data and / or audio data, and an application data storage module for storing the unstructured data in an object storage system and storing the structured data in a database.
[0180] By deploying application software on edge servers and storing application data output by the application software in a database and object storage system provided by the edge servers, the present application can improve the operating efficiency of the application software and solve the security issues of application data.
[0181] See also Fig.13 , Fig.13 It is a structural diagram of an edge server provided in an embodiment of the present application;
[0182] like Fig.13 As shown, the edge server 20 includes one or more processors 2001 and a memory 2002. Fig.13 A processor 2001 is taken as an example.
[0183] The processor 2001 and the memory 2002 may be connected via a bus or other means. Fig.13 The example of connecting through bus is taken in the following.
[0184] A processor, configured to execute the localization method of the application software in any embodiment of the present application, comprising:
[0185] Obtain application software and deploy the application software on the edge server;
[0186] Acquiring application data output by the application software, wherein the application data includes structured data and unstructured data, the structured data includes text data, and the unstructured data includes video data and / or audio data;
[0187] Store unstructured data in object storage systems and structured data in databases.
[0188] The memory 2002 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions / modules corresponding to the localization method of application software in the embodiment of the present invention. The processor 2001 executes various functional applications and data processing of the electronic device by running the non-volatile software programs, instructions and modules stored in the memory 2002, that is, the localization method of application software in the above method embodiment is implemented.
[0189] The memory 2002 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 2002 may optionally include a memory remotely arranged relative to the processor 2001. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0190] One or more modules are stored in the memory 2002, and when executed by one or more processors 2001, the localization method of the application software in any of the above method embodiments is executed, for example, the above described localization method is executed. Figure 2 The steps shown.
[0191] An embodiment of the present application also provides a computer program product, which includes one or more program codes, and the program code is stored in a non-volatile computer-readable storage medium. A processor of an electronic device reads the program code from the non-volatile computer-readable storage medium, and the processor executes the program code to complete the steps of the localization method of application software provided in the above embodiment.
[0192] Through the description of the above implementation methods, ordinary technicians in this field can understand that all or part of the steps of implementing the above embodiments can be completed by hardware, or by hardware related to program code, and the program can be stored in a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium mentioned above can be a read-only memory, a disk or an optical disk, etc.
[0193] Through the description of the above implementation methods, a person of ordinary skill in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, can also be implemented by hardware. A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the non-volatile computer-readable storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0194] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Under the concept of the present application, the technical features in the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other changes in different aspects of the present application as mentioned above, which are not provided in detail for the sake of simplicity. Although the present application has been described in detail with reference to the aforementioned embodiments, a person of ordinary skill in the art should understand that the technical solutions described in the aforementioned embodiments can still be modified, or some of the technical features can be replaced by equivalents. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for localizing application software, characterized in that: Applied to an edge server, the edge server includes a database and an object storage system, the method includes: Obtaining application software, and deploying the application software on the edge server; Acquire application data output by the application software, wherein the application data includes structured data and unstructured data, the structured data includes text data, and the unstructured data includes video data and / or audio data; The unstructured data is stored in the object storage system, and the structured data is stored in the database.
2. The method according to claim 1, characterized in that The edge server includes a containerization tool, and the obtaining of application software and the deployment of the application software on the edge server include: Obtaining an installation package corresponding to the application software and its dependencies, and packaging the installation package and its dependencies to obtain a packaged application; The packaged application is deployed on the edge server through the containerization tool.
3. The method according to claim 1, characterized in that The object storage system includes a programming interface, and the obtaining of application data output by the application software includes: Acquiring application data output by the application software through the programming interface; The storing the unstructured data in the object storage system and the storing the structured data in the database comprises: Processing the unstructured data and the structured data to obtain processed data, wherein the processed data includes processed unstructured data and processed structured data; The processed unstructured data is stored in the object storage system, and the processed structured data is stored in a database.
4. The method according to claim 3, characterized in that The object storage system includes a software development kit. Before obtaining the application data output by the application software through the programming interface, the method further includes: By using the software development kit, calling the programming interface to obtain application data of the application software; or A network request is obtained, and the programming interface is called through the network request to obtain application data of the application software.
5. The method according to claim 3, characterized in that: The processing of the unstructured data and the structured data to obtain processed data includes: Performing format conversion on the unstructured data to obtain first data, wherein the first data is processed unstructured data; The structured data is filtered and format-converted to obtain second data, wherein the second data is the processed structured data.
6. The method according to claim 3, characterized in that The database includes a database management tool, and the method further includes: Setting access permissions for the unstructured data through the programming interface; The database management tool is used to set access permissions for the structured data.
7. The method according to claim 1, characterized in that The method further comprises: Obtaining the communication address and access port of the application software; According to preset rules, access permissions are set for the communication address and access port.
8. The method according to claim 1, characterized in that The method further comprises: The output data of the application software is encrypted according to a preset data encryption tool.
9. The method according to claim 1, characterized in that: The edge server includes an application center, the application center includes an installation package corresponding to the application software and its dependencies, and the method further includes: Obtain the application software and its corresponding dependencies from the application center; The application software is updated according to the dependency item.
10. An edge server, characterized in that: include: At least one processor and at least one memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the method according to any one of claims 1 to 9.