WO2009031915A1 - Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés - Google Patents

Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés Download PDF

Info

Publication number
WO2009031915A1
WO2009031915A1 PCT/RU2007/000475 RU2007000475W WO2009031915A1 WO 2009031915 A1 WO2009031915 A1 WO 2009031915A1 RU 2007000475 W RU2007000475 W RU 2007000475W WO 2009031915 A1 WO2009031915 A1 WO 2009031915A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
aex
information
logical
network
Prior art date
Application number
PCT/RU2007/000475
Other languages
English (en)
French (fr)
Inventor
Vladimir Vladimirovich Krylov
Dmitry Maximovich Ponomarev
Original Assignee
Obschestvo S Ogranichennoi Otvetstvennostiyu 'meralabs'
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Obschestvo S Ogranichennoi Otvetstvennostiyu 'meralabs' filed Critical Obschestvo S Ogranichennoi Otvetstvennostiyu 'meralabs'
Priority to PCT/RU2007/000475 priority Critical patent/WO2009031915A1/ru
Priority to US12/676,216 priority patent/US8156117B2/en
Publication of WO2009031915A1 publication Critical patent/WO2009031915A1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Definitions

  • This invention relates to a storage system and methods for searching and retrieving information representable as a plurality of information entities.
  • DBMS database management systems
  • relational DBMS relational database
  • US patent 20030154197 which is called "Method and apparatus for flexible storage of relational data” describes a method and system for creating a flexible database application that allows users to add, update and delete data columns, as well as optionally displayed attributes of these columns in the relational DBMS table.
  • a set of data records is stored in four or more special tables as a collection of data. This table structure allows user computers to have more flexible access to the DBMS server and data management over a computer network.
  • XML documents are “parsed” into their constituent elements and several metadata attributes are associated with each such element (an XML document node) that describe the name of this element, the data that it contains, and the path from which the root An XML document can be reached to this node. Then each element is stored in one or more columns of the relational database data table.
  • the search for stored XML documents is performed by converting search queries formulated in ⁇ réelleth and / or ⁇ Qu Sprintru languages into SQL queries to a relational database. Search results are subjected to the reverse process of restoring the desired XML documents based on them.
  • Decentralization is required, which allows you to distribute all the computing resources and bandwidth of computing systems necessary for storing and processing data between all storage nodes (and all computing machines on which this storage is deployed).
  • This approach firstly, allows for greater stability and reliability of the storage system due to the lack of a single node, the failure of which makes the entire system inoperative (the so-called sipgléoipt of file), as well as due to the wide possibilities of data duplication, storage devices stored in a peer-to-peer network, and secondly, due to decentralization, there is the possibility of virtually unlimited scaling of storage in terms of storage resources, in the number of stored data objects, as well as a huge sweat The scaling potential by the number of search queries that the system is able to process per unit of time (that is, by the intensity of the queries).
  • a solution is needed in which if the physical server is overloaded, then you just need to connect one or more additional computers to the network so that the database can grow further. That is, a system is needed that automatically scales to physical resources.
  • the second most common class of storage systems are distributed, or peer-to-peer (peer-to-peer), DBMS.
  • peer-to-peer peer-to-peer
  • DBMS peer-to-peer
  • data is not stored centrally on separate specialized devices - data storage servers, but in a distributed manner, on a multitude of nodes in a peer-to-peer network formed by storage devices equipped with special software.
  • This class relates to the data storage method described in this invention.
  • Each node stores a local routing table containing information about one or more of its neighbors. At least one of the local routing tables contains hash code data, based on which You can determine the address of the node where you want to send the bitstream for storage.
  • hash codes when storing and retrieving data from distributed DBMS imposes a number of limitations on the flexibility of search queries in such databases. For example, a search can be performed only by the complete coincidence of the search query and the data attributes addressed by hash codes. If the data of the search query differs by at least one bit from the attributes of the desired objects, then these objects will not be found. Although they may be relevant to the search query. A solution is needed that overcomes this shortcoming and makes the search more flexible.
  • the present invention provides a method for storing information in the form of a poorly structured and decentralized set of active storage units endowed with a system of logical connections among themselves, as well as searching and retrieving information from the set thus obtained.
  • the proposed solution allows to overcome the above disadvantages of solutions known from the prior art.
  • the method proposed in this invention for saving and retrieving data does not use hash codes, but a specially developed metric that takes into account the peculiarities of the internal structure of the stored data objects and also allows us to interpret the degree of closeness of the sought-for attributes to the corresponding query attributes, the possibility of the so-called “fuzzy” »Search.
  • fuzzy search information objects will be found that are semantically close to the search query, but not necessarily completely coinciding with it. In this case, the found objects will have different degrees of relevance to the search query.
  • Active storage units are generated in two steps. At the first stage, for any entity (object) of an arbitrary subject area, to be stored, in accordance with this invention creates an information description, which is a kind of information object (IO), having a tree-like structure of the internal representation.
  • IO information object
  • This information object is assigned a unique identification code, which becomes a unified resource identifier (URI) for the active storage unit, which includes this information object. Subsequently, the specified URI is used as the address of this active storage unit when searching for and retrieving information from a decentralized storage.
  • URI resource identifier
  • the second stage of its formation begins.
  • a specialized agent which is a set of software modules, is included in the active storage unit. This software agent allows this AEX to collect and maintain information about relationships with other active storage units, as well as search the decentralized repository for information objects relevant to search queries.
  • the generated active storage unit consists of an information object containing a description of the stored information entity, as well as a software agent that performs a number of functions to ensure the reachability of the information object in response to search queries, as well as search for other active storage units.
  • the way to add an active storage unit to a decentralized storage is that for the new AEX to be added, logical links are formed with some, selected by a certain algorithm, many other active storage units already existing in the given storage. As a result, the entire set of interconnected storage units is the so-called logical peer-to-peer storage network.
  • the logical storage network formed by the AEX logical links one should also distinguish between the physical peer-to-peer network formed by storage devices in the memory of which all active storage units are located.
  • the logical storage network is superimposed on the physical network. This ensures the complete independence of these two networks in a decentralized storage, that is, the physical placement of information objects in storage devices in the general case does not depend on the logical connections between them. Although in some embodiments of the invention, for optimization purposes, such a relationship may exist.
  • the removal of the active storage unit is carried out in accordance with a specially developed algorithm that guarantees the integrity of the peer logical storage network.
  • the formation of logical relationships between the individual active storage units is carried out in accordance with the degree of information proximity of the AI included in the AEX data. The closer these information objects are to each other, the higher the likelihood that the active storage units containing them will form a logical connection between themselves.
  • the degree of proximity of information objects to each other is determined by calculating the metric according to an algorithm that is part of the present invention.
  • Information is searched for by forming, on the basis of the search query, a special query information object, also called a search mask, and then searching the AEX logical storage network containing the information objects most relevant to this mask.
  • a special query information object also called a search mask
  • the method for searching active storage units containing relevant IOs consists in sequentially moving the point of the current activity of the search process between different AEXs in the logical storage network and determining the measure of information proximity of the search mask and information objects contained in the active storage units at each step of this movement.
  • Moving the point of the current activity of the search process between the active storage units in the logical network is carried out according to the logical links existing between them. Moving the current activity point in the search process is carried out in the direction of increasing the measure of information proximity between the search mask and the current information objects in question or, which is the same thing, in the direction of reducing the metric distance between the mask and the AI.
  • One of the technical results of the present invention is a new way of storing information in the form of a poorly structured and decentralized set of active storage units that form a peer-to-peer network of logical connections among themselves, having potentially unlimited scalability in terms of storage volume (real limitations will be caused only by the capabilities of the equipment); as well as a new way to search for information in such a logical storage network.
  • Figure 1 illustrates the internal structure of the active storage unit, as well as the principle of physical placement of AEX storage on the hosting platforms of various computing devices.
  • Figure 2 illustrates how a logical storage network, consisting of AEX and logical connections between them, and a physical network, consisting of computing devices, in the memory of which all AEXs are physically stored, are related to each other. Also shown in this drawing is a method for accessing external systems to a logical storage network to search for necessary information and manage storage.
  • FIG. 3 illustrates a method for removing active storage units from a logical network.
  • FIG. 4 illustrates a method for searching active storage units corresponding to a search mask in a logical storage network.
  • AEX active storage units
  • active storage units The formation of active storage units is carried out in two stages. At the first stage, an informational description is created for any entity (object) of any subject area, hereinafter referred to as the term “information object” (IO). The generated information object becomes an integral part of the active storage unit (see Fig. L).
  • the IO may contain any data regarding the entity described by it in the context of the subject area within which the description is made.
  • the repository can contain information objects that describe the essence of different subject areas and all active storage units containing these different IOs will also form a logical network of connections between themselves.
  • the information object describing the unit of production may contain the EPC code of the unit of production, information about the manufacturer, about the type of product to which this unit belongs, about the date of release, date validity, current location, etc.
  • the EPC code is the key that connects the information object with the unit of production.
  • One of the options for implementing this connection is the recording of the EPC code in the label of radio frequency identification (RFI), fixed on a unit of production. Then the code is read using the RFI reader and sent to the information store built on the basis of this invention, in which a search is made for the information item corresponding to the production unit. It is also possible to search by the inverse criterion, in this search by the given characteristics of a unit of production, a search is made for its informational description, including the EPC code.
  • the subject area is the so-called
  • Internet of Things is a community of electronic devices distributed around the world and interacting with each other through a global communication infrastructure, the role of which is the Internet and cellular networks, and the entities to be described are all electronic devices participating in the community of Internet of Thygs , then the information objects describing these devices may contain data about the services they provide, about how they are addressed, about protocols for interacting with them, etc.
  • Using the proposed method in this case will give many useful effects, for example, the problem of global detection of electronic devices within the entire Internet will be solved. This, in turn, will allow all electronic devices to automatically (without human intervention) find each other, agree on methods of interaction and dynamically cooperate with each other to achieve any common goals.
  • the internal structure of information objects is presented in a special tree form.
  • the types of data elements in this structure and their mutual arrangement are determined by special notations (data schemes) specific for each subject area separately. For example, one type of notation will be used in property inventory systems, completely different notations characteristic of this subject area in commodity exchange (trade) systems, and a third type of notation other than the previous two in household management systems.
  • information objects can take the form of XML documents (XML standard developed by the WZS organization: http://www.w3.org/XML/) with a tree structure formed in accordance with a notation that looks like an XML schema (XML standard Scheme also developed at WZS: http://www.w3.org/XML/Schema).
  • XML standard Scheme also developed at WZS: http://www.w3.org/XML/Schema
  • each information object can be represented either in the form of one or in the form of several interconnected XML documents.
  • XML documents are represented as files in the file system of computing machines storing information objects; in other embodiments, XML documents can be represented as records stored in XML databases.
  • the method of formation (generation) of the described information objects can be implemented in various ways.
  • information objects can be generated automatically by a technical system based on data that users enter into this system or from other sources.
  • PECs unique identification codes
  • the method of placing PECs in the structure of information objects should be regulated by notations, on the basis of which the information is generated by the electoral authorities.
  • any digital codes that ensure the uniqueness of all information objects within the framework of a system created using the present invention can act as PECs.
  • codes adopted for identifying objects in respective subject areas may be used.
  • codes of a system for universal identification of digital objects products of human activities, such as books, films, musical works, etc., presented in electronic digital form — can be used (Digital Objest IDEPTIFACOG), electronic codes of products ⁇ ( ⁇ lstgopis Industrial Code) of the organization ⁇ N / U ⁇ , as well as global unique identifiers of objects (Global Upiqué Idpifivichers -
  • GUIDs commonly used in computer software.
  • the unique identification codes assigned to information objects are subsequently used for addressing the active storage units containing these IOs in a logical storage network (described below) formed by the method proposed in the present invention.
  • a specialized software agent is added to the active storage unit, which allows this AEX to remember links to other AEXs in the logical storage network and, if necessary, modify the list of links: add new ones and delete old, not relevant links (see Fig. L).
  • the software agent also includes tools that allow this active storage unit to search for other AEXs relevant to the search query in the logical storage network.
  • software agents are represented in the form of software modules that perform the corresponding functions.
  • all the software modules necessary for the agent to work are provided by a specialized hosting platform on which a decentralized storage is located (see Fig. L).
  • these modules are common to all active storage units hosted on this computer.
  • a logical domain is created within the platform that simulates a separate software agent with all the necessary functions. For example, this approach can be used to build a server system that will host a repository containing a large number of active storage units.
  • each AEX provides its own set of software modules and its own hosting platform.
  • the active storage unit (more precisely, the information object included in its composition) describes a specific electronic device and is located in it on its computing platform (see Fig. L).
  • the active storage unit After the active storage unit is equipped with an information object and a software agent containing all the necessary software modules, it is stored in the memory of the storage device (physical storage device) and added to the logical storage network (the method of adding AEX is described below).
  • a logical storage network is a homogeneous peer-to-peer network, in the nodes of which are active storage units, interconnected by a variety of logical connections.
  • the logical storage network is illustrated in FIG. 2.
  • the term “net” of the network will sometimes be used. Both of these terms should be considered equivalent to each other and interchangeable.
  • the terms "logical network”, “logical network storage ”,“ logical peer-to-peer network ” should also be considered equivalent and interchangeable.
  • a distinctive feature of this invention is that in its practical implementation, active storage units can be placed on any number of computers (and hence hosted platforms), interconnected by communication lines (an illustration of the location of the logical storage network is presented in figure 2). Moreover, the addition of each computer to the common storage system is transparent and does not require any additional reconfiguration. If the number of storage units in a vault formed by several computers becomes so large that the resources of these computers do not allow further expansion of the vault size, then users can simply install additional computers with a specialized hosting platform on them and provide them with communication with other computers of the vault. Thus, an additional computing resource will be introduced into the system, allowing a further increase in the number of active storage units without interruption of work and reconfiguration of the entire storage as a whole.
  • AEXs in the logical network are interconnected. Moreover, each specific active storage unit has connections with some limited subset of all AEX belonging to this network. Connections between active storage units in a peer-to-peer logical network are logical (as opposed to physical) and for convenience, the notation in this description is referred to as the term “logical link”.
  • logical link On a graphical model of a logical storage network, the edges of the graph correspond to the logical connections between the individual AEXs (while the active storage units correspond to the vertices of the graph).
  • logical relationships are links from one storage unit to another.
  • these links are in the form of unique resource identifiers (URIs) of information objects that are part of the corresponding active storage units in the logical storage network.
  • URIs unique resource identifiers
  • Links for each node of the logical network are stored in a special list links associated with this node (see FIG. 1). Physically, information objects that are part of active storage units and link lists can be stored in the file system of the storage devices that store the storage, and software agents belonging to AEX are physically part of the hosting platform.
  • the list of links can be considered similarly to the telephone directory of the subscriber. Moreover, a distinctive feature is that nowhere is there a common list of all links, i.e. there is no general phone book for the network, and the list of subscribers and their numbers is distributed between all phone books stored by subscribers.
  • the list of links is described using the universal language for describing the relationships between XLipk objects (XLipk is a standard developed in the WZS: http://www.w3.org/XMI ⁇ Link ⁇ g).
  • XLipk is a standard developed in the WZS: http://www.w3.org/XMI ⁇ Link ⁇ g.
  • ⁇ Li ⁇ k language allows us to describe the connection structure of all active storage units in a logical storage network in a single flexible and convenient way, based on the well-known international standard.
  • Symmetric logical links are bidirectional links between AEX. In other words, if there is a symmetrical logical connection between objects A and B, this means that object A has a link to object B, and object B has a link to object A.
  • Asymmetric logical connections are unidirectional links between separate AEXs, that is, if there is an asymmetric logical connection between objects A and B, this means that either object A has a link to object B, or object B has a link to object A. link direction no.
  • the logical connections between all active storage units in the logical network are symmetric, in another embodiment, both symmetric and asymmetric logical connections between AEX are present in this network.
  • the method of forming AEX logical links in a logical storage network provides such a structure that the entire network of active storage units is modeled by a connected graph. This property means that through a sequential transition through logical connections between individual nodes of the network, you can get to any other from any of its nodes.
  • a set of nodes used to transition from one arbitrary an active storage unit to another in a peer logical storage network is hereinafter referred to as the term "path".
  • the number of logical connections through which the path passes is referred to as the “path length”.
  • a distinctive feature of the method of forming logical connections between nodes in the present invention is that it provides the properties of a “technological world” (Small Wogle) for a peer-to-peer logical storage network.
  • the essence of this property is that in a multimillion-dollar network of active storage units, each pair of nodes turns out to be interconnected by a path passing on average through no more than 5-6 intermediate nodes, and this is achieved with a relatively small number of logical connections of each node of this network with by others.
  • the number of logical connections that each of the nodes of the logical storage network has can be described as a random variable having a power law distribution.
  • the formation of logical relationships of active storage units is carried out in the process of adding them to the logical network.
  • the method of adding AEX is as follows: the information object belonging to the added active storage unit is sequentially compared with one or more IOs that are part of the active storage units already in the storage, and with each such comparison, the degree of information closeness between him and the current compared information object of the logical storage network.
  • the method of measuring the information proximity of the IO is a distinctive feature of the present invention and is described below.
  • a certain set of active storage units is selected, the information objects of which have a minimum (among all their neighbors) metric distance to the EUT contained in this added storage unit .
  • Such storage units are called local minima (in the sense that, from the point of view of the added AEX, they are local minima in a metrized space).
  • the active storage units selected in this way have the greatest degree of information proximity to the added AEX in the sense that the information objects that make up them are closest in metric to the IO belonging to the added storage unit.
  • the added active storage unit establishes, by means of the software agent, which is part of the active storage unit, logical connections, with other AEX from the selected set, thereby connecting to a logical storage network.
  • the power of the aforementioned set of selected AEXs is a parameter for joining a logical storage network and characterizes the quality of its assembly, as well as the performance of specific search algorithms in the logical network.
  • a method of removing active storage units from a logical network in one embodiment of the present invention is that the deleted AEX in the first step is not really deleted from the logical network, but is only marked as the storage unit to be deleted. At the same time, this active storage unit loses its properties as a search object in the logical network.
  • the deleted EUT with the AZO coincides, the deleted object is not included in the number to be extracted.
  • the information objects of all newly added active storage units are compared with the IO of the deleted storage unit and if some of the newly added AEX turns out to be close enough to the deleted active storage unit (meaning the metric closeness of their corresponding information objects), then it is added to the logical storage network by replacing deleted AEX.
  • the criterion of sufficient proximity is the fulfillment of the following relation: M ⁇ T, where M is the metric distance between the added active storage unit and the deleted AEX, and G is a certain threshold, which is a parameter of the replacement procedure.
  • M is the metric distance between the added active storage unit and the deleted AEX
  • G is a certain threshold, which is a parameter of the replacement procedure.
  • This parameter is subject to optimization in the specific practical implementation of the present invention.
  • Replacing the active storage unit A with the active storage unit B lies in the fact that B inherits all the logical connections that belonged to A and thus, as it were, takes its place in the structure of the logical storage network.
  • the active storage unit And at the same time is completely deleted both from the logical network and from the physical storage (from the memory of storage devices of the storage).
  • the replaced active storage unit is not removed from the physical storage.
  • the information object and the list of links to other AEXs that were part of this active storage unit are archived and stored in a physical storage for subsequent needs, for example, for access by internal affairs agencies, special services, historians, journalists, etc.
  • a command to delete an active storage unit when a command to delete an active storage unit is received, it is immediately deleted from the logical network and from the physical storage.
  • those active storage units with which the deleted AEX formed logical connections (their set is denoted as N) are interconnected by logical connections according to a special “stitching” algorithm (see the illustration in FIG. 3).
  • the “stitching” algorithm in this version is that of all active storage units belonging to the set of TVs, one that is closest in metric to the deleted AEX is selected. And it replaces the vacant position of the deleted storage unit, that is, all other elements of the set N form logical connections with this AEX.
  • a comprehensive method for removing active storage units is used, including both of the above methods.
  • the choice of a specific method of removing AEX in this embodiment is made depending on the number of logical connections that a given deleted active storage unit has. The following considerations are taken into account: the more such logical connections the deleted AEX has, the greater the impact on the topology of the logical storage network is its removal, in addition, the logical storage network is constructed in such a way that the degree distribution of the vertices in the graph model of this network has a power-law character, which means that the total number of active storage units having a large number of logical connections is much less than storage units having a small number of links.
  • the mentioned AEXs dynamically rearrange their logical connections and thereby change their location in the logical storage network. That is, in the graphical model of the logical network, the nodes corresponding to these active storage units will have logical connections with a certain set of nodes, different from the initial set of nodes with which there were connections before the modification of the information object.
  • the restructuring of the logical relationships of active storage units is ensured by means of the software agents included in their composition.
  • the restructuring of logical connections active storage units when modifying the information object included in its composition is performed by removing this AEX from the logical storage network and then re-adding it.
  • the method for determining the measure of information proximity of information objects that are part of active storage units is based on the representation of the information system in the form of labeled trees (labeled tgees) with given roots (called “root roots” in this description) and oriented in this way, that there are directional paths from the roots of these trees to any of their vertices. For simplicity, hereinafter, such trees will be called labeled root trees.
  • the marked root tree in this context acts as a mathematical model of the internal structure of the information object.
  • the root of the tree in this case is the main parent element that underlies the tree structure of the AI.
  • the vertices of the tree are all the elements that form the internal structure of the AI.
  • the terms “top” of a tree and “yellow” of a tree should be considered equivalent and interchangeable.
  • the root is a special case of the top of a tree. Labels of the tree vertices are the values contained in these elements of the internal structure of the IO. Vertex labels in information objects can be natural language words, numbers, and other mnemonic notation.
  • Ri is the root of the z ' -oro tree; u is the number of vertices of the z-th tree.
  • the metric between two information objects J 1 with n vertices and root R ⁇ and J 2 with n 2 vertices and root R 2 is generally defined as the metric tensor defined by a matrix of size n ⁇ n 2 : Ip (T 15 I, T 2 , ⁇ 2 ) ⁇ ⁇ lx ⁇ 2 , where r ⁇ , r 2 are two vertices (respectively from T 1 , Ti), which are called temporary roots.
  • each element with index ij is formed by calculating the metric function p between two isomorphically transformed trees J 1 and J 2 , and tree J 1 is transformed by declaring its nth node as the temporary root of the tree and rebuilding the entire tree structure relative to this node (and the direction of all the arcs of the tree does not change during the transformation), and Ti is transformed in a similar way, but only with the declaration of the ' root node as a temporary root. Moreover, after an isomorphic transformation, the trees will no longer be oriented from the root. The tree transformation by the nth node is called the nth view of the information object. For each AI, the number of possible angles is equal to the number of nodes in it. A non-transformed tree represents the main or main view of an information object. All other possible angles are called auxiliary (or temporary).
  • the metric described above between two IOs is hereinafter denoted by the term
  • Tensor metrics Along with the tensor metric, the main metric is determined as the value of the metric function of two non-transformed trees, that is, the AI in the main angles.
  • the relevance function rel (r, T) is introduced, which is equal to the distance in the tree T from the root to the top of g.
  • the distance is defined as the length of the path, measured by the number of arcs from the root of the tree to its arbitrary top of g.
  • the relevance function takes non-negative integer values.
  • the weight r ⁇ Cr 2 e G 2 of relevance actually plays the role of an indicator indicating how important the position of a particular vertex in the tree structure is when calculating the informational proximity of two IOs.
  • the value of the relevance weight decreases as its argument grows, that is, the relevance function. In other words, the closer one or another vertex is located to the tree root, the higher its importance and the greater contribution it makes to the overall result of calculating the integral metric. With increasing distance from the root of the tree, respectively, the picture is reversed.
  • Integral and tensor metrics act as criteria on the basis of which decisions are made in the methods of the present invention. These metrics are used as a measure of the information proximity of the IO (and, consequently, the active storage units containing these IOs) and in the method of adding AEX to the logical storage network, and in the way they are modified and deleted from the network, and these metrics are used in the search method active storage units containing information objects relevant to search queries.
  • a root subtree in this description refers to a subtree of the root tree under consideration that has the same root as the root tree itself.
  • the numerical parameter a is chosen negative (to ensure inverse proportionality of the metric function as a measure of generality) and in one embodiment of the invention it takes values less than -1.
  • the metric function is actually a means of measuring the degree of similarity (commonality) of the internal structures of two information objects.
  • the similarity of the structures of the two AIs is estimated only by the number of common vertices.
  • the relevance functions, together with the relevance weights, complement the metric function and together with it allow more accurately assess the similarity of the internal structures of information objects, taking into account the significance level of all nodes in their internal structures.
  • the metric function is determined by the value of “infinity,” which is denoted by ⁇ .
  • the presentation of the tensor metric is optimized.
  • the optimization method consists in storing only those elements of the tensor metric that do not take the value ⁇ or a value greater than some threshold ⁇ , which is an optimization parameter.
  • a method for searching active storage units in a logical network consists of several successive steps (an illustration of a search method is shown in FIG. 4).
  • a search mask based on the search query, a special information entity is formed, also called a search mask or search mask.
  • search mask a tree-like internal structure is created, similar to the structure of information objects that are part of the active storage units in the logical network.
  • search masks the same notations (data schemes) are used on which the information objects of this storage are based.
  • search masks may not strictly correspond to these notations.
  • a mask will be generated on the basis of this request, the structure of which will contain the desired information in the place where information objects are located acting as a partial search criterion, meaning that you need to search for those pieces of music that have a name that matches this partial criterion.
  • the set of all partial search criteria determines the complete search criterion for information objects by this mask.
  • an information object meets the full search criterion, then it is called completely relevant to the search query, on the basis of which a mask was created that defines this full criterion. If the information object does not meet the full search criteria, but meets some of its partial criteria, then such an object is called partially relevant to the search request. In the case when the information object does not meet any partial search criteria, it is called irrelevant to this search query.
  • An active storage unit is called relevant (or partially relevant) to the search query (search mask) if the information object included in its composition is relevant (or partially relevant) to this search query.
  • Partial search criteria can be uniquely defined.
  • An unambiguous partial search criterion is specified by one specific search element value in the tree structure of the search mask. All information storage objects for which the corresponding element in the description tree has a value exactly matching this partial criterion will correspond to this criterion.
  • An ambiguous partial search criterion determines a certain range of possible values of the desired element in the structure of the mask tree, in this case all the information objects of the storage will correspond to this criterion, the values of the corresponding nodes of which belong to the specified range.
  • the request mask contains an element describing the title of a musical work, and only one variant of the description of the title is given, then this element is an unambiguous partial criterion.
  • Such a partial criterion will correspond to all musical works having a given title value.
  • the search mask contains an element that describes a certain set of possible color values of the car (blue, black, red, etc.), then this element is an ambiguous partial criterion.
  • This ambiguous criterion will correspond to all cars that have a color that belongs to the set of described values (either blue, or black, or red, etc.).
  • the process of searching for active storage units containing information objects corresponding to this mask in the logical storage network is performed directly (see Fig. 4).
  • information objects can be searched with varying degrees of relevance to the search mask (and, consequently, to the search query).
  • the required degree of relevance of the search mask results is a parameter of the search method and is set each time a new search procedure is initiated. At the same time, its value is either automatically configured based on the requirements for the search procedure, or is set by the user each time. Further, for simplicity of description, the concept of “relevance” will be used to indicate relevance with a predetermined degree.
  • the search procedure mentioned above is distributed in nature and it involves software agents of all active storage units located in the logical storage network (see below for more details).
  • additional parameters of the search procedure can be: the maximum number of active storage units that can be considered during this search procedure; maximum duration of the search procedure in time, etc.
  • the initiators of the search procedures in the logical storage network in accordance with this method can be either the active storage units themselves located in this network or entities external to this network, for example, applications serving the logical storage network and providing users with services based on it.
  • a distinctive feature of the present invention is that in one of its options, after the search mask is formed from the search query, based on this mask, a special active request object (AZO) is created that is placed in the logical storage network, using the same method of placement in the logical network as when adding active storage units - an active requesting object establishes a lot of logical connections with AEX on the network and, just like a regular active storage unit, it participates in routing the movement of points of the current activity of search processes (description below), and may itself be the subject of a search, or the initiator of a search.
  • AZO active request object
  • active query objects The most important function of active query objects is to maintain the relevance of information about the results of search queries to which they are oriented. For example, if in a logical storage network with information about cars there is a gas station focused on a request of the form: “how many cars of a particular brand are available”, then this object will periodically initiate requests of this type and store their results.
  • the specific timeline for initiating search queries through this active query object will be determined by many parameters, the most important of which are: the required degree of relevance ("fresh") of the information provided on the search results, the dynamics of updating data in the logical storage network, the degree of load on the nodes of the logical network with search queries , capabilities of computing systems and their communication channels during physical storage implementation, etc.
  • active query objects are not placed among active storage units, but form their own logical network, built on the same principles as the AEX storage network, describing the essence of the subject area.
  • a logical network of active query objects in this description is called the term "meta-network”.
  • each of the active query objects located in the meta-network will correspond to a certain set of AEXs from the logical storage network relevant to the search query to which this AZO is oriented (with a given degree of relevance).
  • All active query objects from the meta network will periodically initiate search queries to the logical network of active storage units in order to maintain the relevance of their information, the provision of which they are oriented.
  • An entry point is an active storage unit or a node on the graphical model of the logical storage network through which the AEX search process containing the information object relevant to the search mask is initiated (see the illustration in figure 2).
  • any nodes of a logical storage network can act as entry points. If any active storage unit initiates a search for other AEX 5, then it itself assumes the role of an entry point for the search process.
  • the search process can be initiated by an active storage unit either at the initiative of users or automatically, without human intervention, as an integral part of more complex processes of interaction between electronic devices.
  • a particular AEX is determined by the conditions for the implementation of technical systems based on this invention. For example, if an active storage unit is part of a more complex system, some software or hardware-software device, then it provides this device with services to search for other similar devices, while being an entry point into the logical storage network for this particular instance of the system, there are all search procedures initiated by this device through the specified AEX.
  • some limited subset of logical storage network nodes serving as entry points is used, as well as some specialized server for load balancing entry points, which distributes the load between different entry points in the logical storage network.
  • the load balancing server can be located on any computer that has access to the physical computer network of the storage.
  • a server can be located on one of the computers containing the hosting platform and which is part of the decentralized storage.
  • the load balancing server may be presented as a separate service external to the distributed storage system. Physically, such a service can be hosted on a separate computing device connected by communication lines with distributed storage.
  • any active storage unit initiates a request to search for other AEXs in the logical storage network, then it first requests a load balancing server, which gives the address of the entry point, through which the search process is then initiated.
  • the number of entry points and their loading in such a system are dynamically configured by the load balancing server of the entry points depending on the intensity of the search queries at a given time, as well as the bandwidth of the entry points for servicing search queries.
  • search operations in the logical storage network are distributed, decentralized in nature and are performed by software agents of active storage units. Moreover, at each moment of time, the search agents involved those AEX software agents in which the current search point is located at that moment.
  • the point of the current search activity sequentially moves from the entry point to other nodes of the logical storage network through the logical connections that exist between these nodes (see Fig. 4).
  • a distinctive feature in this case is that in each active storage unit into which the current search point is being moved, the information object included in its composition is compared with the search mask by the metric described above.
  • this comparison is made by the software agent of this AEX. Physically, the comparison is performed using the hosting platform, which provides the software agents to the active storage units. The purpose of the comparison is to determine the degree of information proximity between the query mask and the information object belonging to the current active storage unit, that is, in other words, to determine how much this AEX matches (relevant) to the search query. After this comparison is made, a decision is made whether the end result is achieved in the search problem. This decision depends firstly on whether the current active unit of storage relevant to the search query with the degree of relevance that is laid down in this search procedure, and secondly, on whether the required number of relevant AEXs was found.
  • the maximum number of active storage units relevant to the query that you want to find is also one of the parameters of the search procedure and is determined by specific tasks and search situations. This required quantity in each individual case can vary from one unit, for example, in queries of the form: “find at least one object that meets certain criteria to an unlimited value, for example:“ find all objects that satisfy certain criteria)) or “how many in all the repository is located such objects)).
  • this AEX is relevant to the search query and all other relevant storage units that make up the required set have already been found, information about this AEX is returned to the node or entity external to the logical storage network that initiated the search and the search procedure ends.
  • the search process continues and the next step in it is to select the next candidate node, into which the current search activity point and the entire procedure described above are then moved recursively repeated.
  • the selection of the desired candidate node can be made from the set of all active storage units with which the current node (current at the time the search activity is in it) has logical connections, as well as from all
  • AEX which are "consecutive" (logical links) nodes located along the entire previous path of the search process (see figure 4).
  • a distinctive feature of the method for selecting subsequent candidate nodes is that as a result, the point of the current activity of the search process moves in the direction of increasing the relevance of the nodes to the search mask (that is, in the direction of increasing the measure of information proximity of the mask and information objects that are in active storage units).
  • search activity can go (roll back) to less relevant nodes, but in general, it will always move in the direction of increasing relevance. And therefore, we can expect that the bulk of the sought-after active storage units (and therefore the information objects contained in them) will be located at the final sections of the paths for moving search activity across the logical storage network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

СПОСОБ И СИСТЕМА ХРАНЕНИЯ, ПОИСКА И ИЗВЛЕЧЕНИЯ
ИНФОРМАЦИИ НА ОСНОВЕ СЛАБООРГАНИЗОВАННЫХ И
ДЕЦЕНТРАЛИЗОВАННЫХ НАБОРОВ ДАННЫХ
Область техники Данное изобретение относится к системе хранения и способам поиска и извлечения информации, представимой в виде множества информационных сущностей. Предшествующий уровень техники
Вот уже много лет в области компьютерных технологий большой интерес представляют системы хранения информации, или иначе - системы управления базами данных (СУБД). Существует два наиболее распространенных класса систем хранения, которые охватывают большинство существующих на данный момент СУБД.
Первый наиболее обширный и популярный класс таких систем составляют так называемые реляционные СУБД. К настоящему моменту существует большое количество изобретений, так или иначе связанных с реляционными базами данных. Так, например, в патенте США 20030154197, который называется «Cпocoб и аппаратура для гибкого хранения реляционных дaнныx» описывается способ и система для создания гибкого приложения баз данных, позволяющего пользователям добавлять, обновлять и удалять столбцы данных, а также опционально - отображаемые атрибуты этих столбцов в таблице реляционной СУБД. Набор записей данных хранится в четырех или более специальных таблицах как подборка данных. Такая структура таблиц позволяет пользовательским компьютерам получать более гибкий доступ к серверу СУБД и управление данными по компьютерной сети.
Все большее распространение получают системы хранения структурированных данных, представленных в виде ХМL-документов, также основанные на реляционных принципах. Например, в патенте США 20060101320 под названием «Cиcтeмa и способ хранения, индексирования и извлечения ХМL-документов с использованием реляционных баз дaнныx» раскрывается способ и система хранения, поиска и извлечения XML документов с использованием уже существующих систем реляционных баз данных. Суть способа заключается в трансформации структурированных XML- документов таким образом, чтобы они были пригодны для хранения в таблицах обычных реляционных баз данных. В процессе такой трансформации ХМL-документы «paзбиpaютcя» на составляющие их элементы и с каждым таким элементом (узлом XML- документа) ассоциируются несколько атрибутов метаданных, описывающих название этого элемента, данные, которые в нем содержатся, а также путь, по которому из корня ХМL-документа можно добраться до данного узла. Затем каждый элемент сохраняется в одном или нескольких столбцах таблицы данных реляционной базы.
Поиск хранимых ХМL-документов производится путем преобразования поисковых запросов, сформулированных на языках ХРаth и/или ХQuеrу в SQL-запросы к реляционной базе данных. Результаты поиска подвергаются обратному процессу восстановления на их основе искомых ХМL-документов.
Следует отметить, что у всех способов и систем, основанных на реляционных принципах хранения данных, есть общие недостатки. Использование изобретения, описываемого в данном документе, позволяет устранить ряд важнейших ограничений, накладываемых реляционным подходом :
• В известных технических решениях имеется единый центр управления всеми процессами, связанными с хранением данных.
Необходима децентрализация, которая позволяет распределить все вычислительные ресурсы и пропускную способность вычислительных систем, необходимые для хранения и обработки данных, между всеми узлами хранилища (и всеми вычислительными машинами, на которых данное хранилище развернуто). Такой подход, во-первых, позволяет обеспечить большую устойчивость и надежность системы хранения за счет отсутствия единого узла, выход из строя которого, делает всю систему неработоспособной (т.н. siпglе роiпt оf fаiluге), а также за счет широких возможностей дублирования данных, хранимых в одноранговой сети устройств хранения, а во-вторых, благодаря децентрализации появляются возможности практически неограниченного масштабирования хранилища по объему ресурсов памяти для хранения, по количеству хранимых объектов данных, а также огромный потенциал масштабирования по количеству поисковых запросов, которые система способна обработать в единицу времени (то есть по интенсивности запросов).
• При реляционном подходе к хранению, данные информационных объектов распределяются на множестве взаимосвязанных таблиц в соответствии с заранее спроектированной реляционной структурой, при этом в процессе обработки поисковых запросов зачастую производится сборка искомого объекта данных из множества записей в различных таблицах, что при широкой, разветвленной реляционной структуре и большом объеме хранимых данных приводит к существенному замедлению обработки таких поисковых запросов.
Необходим иной подход, при котором вся информация о каком-либо объекте сконцентрирована в одном месте, в одном объекте данных, и по запросу пользователь разом получает весь объект. При этом трудоемкость поисковых процедур может быть значительно снижена (например, станет пропорциональной логарифму от количества хранимых объектов).
• В случае реляционной базы физическая конфигурация сервера хранения данных определяется еще на этапе проектирования базы и в дальнейшей не подлежит изменению. Если же база становится слишком большой и интенсивность обращений к ней велика настолько, что вычислительных ресурсов и каналов связи физического сервера оказывается недостаточно, то для расширения этих ресурсов, либо добавления в систему новых серверов, требуется полная остановка работы базы, возможно пересмотр ее реляционной модели данных, оптимизация размещения реляционной структуры по физическим устройствам хранения и дальнейший запуск. Очевидно, что все эти процедуры сопряжены со значительными накладными расходами.
Необходимо решение, при котором если физический сервер оказывается перегруженным, то нужно просто подключить в сеть еще один или несколько дополнительных компьютеров, чтобы база данных могла наращиваться дальше. То есть необходима система, которая автоматически масштабируется по физическим ресурсам.
Вторым наиболее распространенным классом систем хранения данных являются распределенные, или пиринговые (одноранговые), СУБД. В таких системах данные сохраняются не централизованно на отдельных специализированных устройствах — серверах хранения данных, а распределенным образом, на множестве узлов в одноранговой сети, образованной устройствами хранения, оснащенными специальным программным обеспечением. Именно к этому классу относится способ хранения данных, описанный в данном изобретении.
Большинство способов хранения данных в децентрализованных СУБД используют для поиска хранимой информации механизм хеш-кодов. Например, в патенте США 20060242155 под названием «Cиcтeмы и методы распределенного и децентрализованного хранения и извлечения дaнныx» раскрывается способ и система распределенного и децентрализованного хранения и извлечения данных. Данные представляются в этом изобретении в виде битовых потоков мультимедийной информации. Каждый битовый поток разбивается на отдельные фрагменты, которые хранятся в узлах одноранговой сети децентрализованного хранилища. При поступлении битового потока данных в систему, на его основе вычисляется значение хеш-кода. Это значение определяет адрес узла, в который передается битовый поток для сохранения.
Каждый узел хранит локальную таблицу маршрутизации, содержащую информацию об одном или нескольких своих соседях. По меньшей мере одна из локальных таблиц маршрутизации содержит данные о хеш-коде, на основе которого можно определить адрес узла, в который требуется отправить битовый поток на сохранение.
Использование хеш-кодов при сохранении и извлечении данных из распределенных СУБД накладывает ряд ограничений на гибкость поисковых запросов в таких базах данных. Например, поиск может производиться только по полному совпадению поискового запроса и атрибутов данных, адресуемых хеш-кодами. Если же данные поискового запроса отличаются хотя бы на один бит от атрибутов искомых объектов, то эти объекты не будут найдены. Хотя они могут при этом быть релевантны поисковому запросу. Необходимо решение, которое позволяет преодолеть этот недостаток и сделать поиск более гибким.
Кроме того, в основе методов вычисления релевантности ответов на запросы в современных поисковых системах лежит совпадение ключевых слов искомых данных со словами поисковых запросов. При этом учитывается множество возможных форм представления ключевых слов определяемых такими параметрами как падеж, лицо, род и т.д., но не учитывается степень близости внутренней структуры маски запроса и искомых информационных объектов. Таким образом, необходимы способы поиска с учетом упорядоченности слов в поисковом запросе. Сущность изобретения В настоящем изобретении предлагается способ сохранения информации в виде слабоструктурированного и децентрализованного набора активных единиц хранения, наделенных системой логических связей между собой, а также поиска и извлечения информации из полученного таким образом набора. Предлагаемое решение позволяет преодолеть вышеприведенное недостатки решений, известных из уровня техники. Поскольку в рамках предложенного в данном изобретении способа для сохранения и извлечения данных используется не хеш-коды, а специально разработанная метрика, учитывающая особенности внутренней структуры хранимых объектов данных, а также позволяющая трактовать степень близости искомых атрибутов соответствующим атрибутам запросов, появляется возможность так называемого «нeчeткoгo» поиска. При нечетком поиске будут найдены информационные объекты, семантически близкие к поисковому запросу, но при этом необязательно полностью с ним совпадающие. При этом найденные объекты будут иметь разные степени релевантности поисковому запросу.
Генерация активных единиц хранения (AEX) производится в два этапа. На первом этапе для любой сущности (объекта) произвольной предметной области, подлежащей хранению, в соответствии с данным изобретением создается информационное описание, представляющее собой некий информационный объект (ИО), имеющий древовидную структуру внутреннего представления.
Этому информационному объекту присваивается уникальный идентификационный код, который становится унифицированным идентификатором ресурса (URI) для активной единицы хранения, в состав которой входит данный информационный объект. В дальнейшем указанный URI используется в качестве адреса этой активной единицы хранения при поиске и извлечении информации из децентрализованного хранилища. После того, как информационный объект будет создан и включен в состав формируемой AEX, наступает второй этап ее формирования. На втором этапе в состав активной единицы хранения включается специализированный агент, представляющий собой набор программных модулей. Этот программный агент позволяет данной AEX собирать и поддерживать информацию о связях с другими активными единицами хранения, а также производить поиск в децентрализованном хранилище информационных объектов, релевантных поисковым запросам.
Таким образом, сформированная активная единица хранения состоит из информационного объекта, содержащего описание хранимой информационной сущности, а также программного агента, выполняющего ряд функций по обеспечению достижимости информационного объекта в ответ на поисковые запросы, а также осуществлению поиска других активных единиц хранения.
Способ добавления активной единицы хранения в децентрализованное хранилище состоит в том, что для новой добавляемой AEX формируются логические связи с некоторым, выбираемом по определенному алгоритму, множеством других уже существующих в данном хранилище активных единиц хранения. В результате все множество взаимосвязанных единиц хранения представляет собой так называемую логическую одноранговую сеть хранения.
Наряду с логической сетью хранения, образованной логическими связями AEX следует различать также физическую одноранговую сеть, образованную устройствами хранения, в памяти которых размещаются все активные единицы хранения. Логическая сеть хранения является наложенной на физическую сеть. При этом обеспечивается полная независимость этих двух сетей в децентрализованном хранилище, то есть физическое размещение информационных объектов в устройствах хранения в общем случае не зависит от логических связей между ними. Хотя в некоторых вариантах изобретения в целях оптимизации такая зависимость может существовать. Удаление активной единицы хранения осуществляется в соответствии со специально разработанным алгоритмом, гарантированно обеспечивающим целостность одноранговой логической сети хранения.
Формирование логических связей между отдельными активными единицами хранения производится в соответствии со степенью информационной близости ИО, входящих в состав данных AEX. Чем более близки между собой указанные информационные объекты, тем выше вероятность того, что активные единицы хранения, содержащие их, сформируют логическую связь между собой.
Степень близости информационных объектов друг другу определяется с помощью вычисления метрики по алгоритму, являющемуся частью данного изобретения.
Поиск информации производится путем формирования на основе поискового запроса специального запросного информационного объекта, именуемого также поисковой маской, и последующим осуществлением поиска в логической сети хранения AEX, содержащих наиболее релевантные данной маске информационные объекты.
Способ поиска активных единиц хранения, содержащих релевантные ИО, заключается в последовательном перемещении точки текущей активности поискового процесса между различными AEX в логической сети хранения и определении меры информационной близости поисковой маски и содержащихся в рассматриваемых активных единицах хранения информационных объектов на каждом шаге этого движения.
Перемещение точки текущей активности поискового процесса между активными единицами хранения в логической сети производится по логическим связям, существующим между ними. Перемещение точки текущей активности в процессе поиска производится в направлении увеличения меры информационной близости между поисковой маской и текущими рассматриваемыми информационными объектами или, что то же самое, в направлении уменьшения метрического расстояния между маской и ИО.
Одним из технических результатов настоящего изобретения является новый способ хранения информации в виде слабоструктурированного и децентрализованного набора активных единиц хранения, образующих одноранговую сеть логических связей между собой, имеющий потенциально неограниченную масштабируемость по объему хранения (реальные ограничения будут обусловлены лишь возможностями оборудования); а также новый способ поиска информации в такой логической сети хранения. Краткое описание чертежей
Фиг.1 иллюстрирует внутреннюю структуру активной единицы хранения, а также принцип физического размещения хранилища AEX на хостирующих платформах различных вычислительных устройств. Фиг.2 иллюстрирует то, как соотносятся между собой логическая сеть хранения, состоящая из AEX и логических связей между ними, и физическая сеть, состоящая из вычислительных устройств, в памяти которых физически хранятся все AEX. Также на этом чертеже показан способ доступа внешних систем к логической сети хранения для поиска необходимой информации и управления хранилищем. Фиг.З иллюстрирует способ удаления активных единиц хранения из логической сети.
Фиг.4 иллюстрирует способ поиска активных единиц хранения, соответствующих поисковой маске, в логической сети хранения.
Подробное описание изобретения В соответствии с настоящим изобретением, сохраняемая информация представляется в виде множества так называемых активных единиц хранения (AEX). При этом для каждой информационной сущности (объекта данных), подлежащей хранению, создается своя уникальная активная единица хранения, которая является полным представлением соответствующей информационной сущности в хранилище, а также позволяет осуществлять поиск и извлечение данных, составляющих указанную информационную сущность. Внутренняя структура AEX представлена на фиг.l.
Формирование активных единиц хранения производится в два этапа. На первом этапе для любой сущности (объекта) произвольной предметной области создается информационное описание, здесь и далее именуемое термином «инфopмaциoнный oбъeкт» (ИО). Сформированный информационный объект становится составной частью активной единицы хранения (см. фиг.l).
ИО может содержать любые данные относительно описываемой им сущности в контексте той предметной области, в рамках которой производится описание.
В хранилище могут находиться информационные объекты, описывающие сущности разных предметных областей и все активные единицы хранения, содержащие эти разные ИО, так же будут образовывать логическую сеть связей между собой.
Например, если областью применения предлагаемого способа является хранение информации о единицах продукции, то информационный объект, описывающий единицу продукции, может содержать ЕРС-код единицы продукции, сведения о производителе, о типе продукции, к которому принадлежит данная единица, о дате выпуска, сроке годности, текущем местоположении и др. При этом ЕРС-код является ключом, связывающим информационный объект с единицей продукции. Одним из вариантов осуществления этой связи является запись ЕРС-кода в метку радиочастотной идентификации (РЧИ), закрепляемую на единице продукции. Затем код считывается при помощи устройства считывания РЧИ и направляется в построенное на основе данного изобретения хранилище информации, в котором осуществляется поиск соответствующего единице продукции информационного объекта. Возможен также поиск по обратному критерию, при этом поиске по заданным характеристикам единицы продукции выполняется поиск ее информационного описания, включая ЕРС-код. В качестве другого примера: если предметной областью является так называемый
«Internet оf Things» — сообщество электронных устройств, распределенных по всему миру и взаимодействующих между собой посредством глобальной коммуникационной инфраструктуры, в роли которой выступают Интернет и сети сотовой связи, а сущностями, подлежащими описанию, являются все электронные устройства, участвующие в сообществе Iпtеmеt оf Тhiпgs, то информационные объекты, описывающие эти устройства, могут содержать данные о предоставляемых ими услугах, о способах их адресации, о протоколах взаимодействия с ними и т.д. Использование предлагаемого способа в этом случае даст множество полезных эффектов, например, будет решена задача глобального обнаружения электронных устройств в пределах всего Интернет. Это, в свою очередь, позволит всем электронным устройствам автоматически (без участия человека) находить друг друга, договариваться о способах взаимодействия и динамически кооперироваться между собой для достижения каких-либо общих целей.
В соответствии с настоящим изобретением, внутренняя структура информационных объектов представляется в специальной древовидной форме. Типы элементов данных в этой структуре и их взаимное расположение определяются специальными нотациями (схемами данных), специфичными для каждой предметной области в отдельности. Например, в системах инвентаризации имущества будут использоваться нотации одного типа, в системах товарообмена (торговли) — совершенно другие нотации, характерные для этой предметной области, а в системах управления домашним хозяйством - третий тип нотаций, отличный от двух предыдущих.
При практической реализации информационные объекты могут иметь вид XML- документов (стандарта XML, разработанного организацией WЗС: http://www.w3.org/XML/) с древовидной структурой, формируемой в соответствии с нотацией, имеющей вид ХМL-схемы (стандарт XML Sсhеmа, также разработанный в WЗС: http://www.w3.org/XML/Schema). При этом для каждой предметной области создается своя ХМL-схема, соответствующая задачам описания сущностей данной предметной области. При построении технических систем на основе данного изобретения можно использовать схемы данных, ставшие отраслевыми стандартами в соответствующих предметных областях. В различных вариантах реализации изобретения каждый информационный объект может быть представлен либо в виде одного, либо в виде нескольких взаимосвязанных между собой ХМL-документов. В некоторых вариантах изобретения ХМL-документы представляются в виде файлов в файловой системе вычислительных машин, хранящих информационные объекты, в других вариантах ХМL-документы могут быть представлены в виде записей, хранимых в XML- базах данных.
Способ формирования (генерации) описываемых информационных объектов может быть реализован различными путями. В частности, информационные объекты могут генерироваться технической системой автоматически на основе данных, которые вводятся в эту систему пользователями, или поступают в нее из иных источников. В процессе генерации внутренней структуры информационных объектов им присваиваются уникальные идентификационные коды (УИК). Способ размещения УИК в структуре информационных объектов при этом должен регламентироваться нотациями, на основе которых данные ИО генерируются.
В качестве УИК могут выступать любые цифровые коды, обеспечивающие уникальность всех информационных объектов в рамках создаваемой с использованием настоящего изобретения системы. В частности, могут использоваться коды, принятые для идентификации объектов в соответствующих предметных областях. В конкретных вариантах реализации данного изобретения могут, например, использоваться коды системы универсальной идентификации цифровых объектов - продуктов деятельности людей, примерами которых могут быть книги, фильмы, музыкальные произведения и т.д., представленные в электронной цифровой форме - (Digitаl Оbjесt Idепtifiсаtог), электронные коды продуктов еРС (Еlесtгопiс Рrоduсt Соdе) организации ЕАN/UСС, а также глобальные уникальные идентификаторы объектов (Glоbаllу Uпiquе Idепtifiеrs -
GUIDs), широко используемые в компьютерном программном обеспечении. Присвоенные информационным объектам уникальные идентификационные коды в дальнейшем используются при адресации содержащих эти ИО активных единиц хранения в логической сети хранения (описана ниже), сформированной по способу, предлагаемому в настоящем изобретении.
После того как будет образована внутренняя структура информационного объекта, и он будет включен в состав формируемой активной единицы хранения, наступает второй этап. На втором этапе формирования в состав активной единицы хранения добавляется специализированный программный агент, позволяющий этой AEX запоминать ссылки на другие AEX в логической сети хранения и при необходимости модифицировать список ссылок: добавлять новые и удалять старые, не актуальные ссылки (см. фиг.l). Также в состав программного агента входят средства, позволяющие данной активной единице хранения осуществлять поиск других, релевантных поисковому запросу, AEX в логической сети хранения.
При практической реализации программные агенты представляются в виде программных модулей, выполняющих соответствующие функции. В одном из вариантов реализации все необходимые для работы агента программные модули предоставляются специализированной хостирующей платформой, на которой размещается децентрализованное хранилище (см. фиг.l). При таком подходе эти модули являются общими для всех активных единиц хранения, размещаемых на данной вычислительной машине. Однако при этом для каждой активной единицы хранения в рамках платформы создается свой логический домен, моделирующий отдельный программный агент со всеми необходимыми функциями. Например, такой подход может быть использован при построении системы серверов, на которых будет размещаться хранилище, содержащее большое множество активных единиц хранения.
В другом варианте для каждой AEX предоставляется свой собственный набор программных модулей и своя хостирующая платформа. Например, это может быть в случае, когда активная единица хранения (точнее, информационный объект, входящий в ее состав) описывает конкретное электронное устройство и размещается в нем же, на его вычислительной платформе (см. фиг.l).
После того, как активная единица хранения будет оснащена информационным объектом и программным агентом, содержащим все необходимые программные модули, она сохраняется в памяти запоминающего устройства (физического устройства хранения) и добавляется в логическую сеть хранения (способ добавления AEX описан ниже).
В соответствии с настоящим изобретением, логическая сеть хранения представляет собой однородную одноранговую сеть, в узлах которой находятся активные единицы хранения, соединенные между собой множеством логических связей. Логическая сеть хранения проиллюстрирована на фиг 2. В данном описании в контексте логической сети вместо термина «aктивнaя единица хранения)) иногда будет использоваться термин «yзeл» сети. Оба этих термина следует считать эквивалентными друг другу и взаимозаменяемыми. Термины «лoгичecкaя ceть», «лoгичecкaя сеть xpaнeния», «лoгичecкaя одноранговая ceть» также следует считать эквивалентными и взаимозаменяемыми.
Отличительной особенностью данного изобретения является то, что в его практической реализации активные единицы хранения могут быть размещены на любом количестве вычислительных машин (а следовательно, и хостирующих платформ), объединенных между собой линиями связи (иллюстрация размещения логической сети хранения представлена на фиг.2). При этом добавление каждой вычислительной машины в общую систему хранилища происходит прозрачно и не требует никакой дополнительной переконфигурации. Если количество единиц хранения в хранилище, образованном несколькими вычислительными машинами, становится настолько большим, что ресурсы этих ЭВМ не позволяют дальнейшее расширение размеров хранилища, то пользователи могут просто установить дополнительные компьютеры со специализированной хостирующей платформой на них и обеспечить им коммуникацию с другими компьютерами хранилища. Тем самым в систему будет внесен дополнительный вычислительный ресурс, позволяющий дальнейшее наращивание количества активных единиц хранения без остановки работы и переконфигурации всего хранилища в целом. При этом вновь поступающие в систему AEX автоматически размещаются на «cвoбoдныx» хостирующих платформах, а на логическом уровне не имеет значения — на какой конкретно ЭВМ находится та или иная активная единица хранения - будет просто производиться наращивание количества узлов в одноранговой логической сети хранения (см. фиг.2).
Все AEX в логической сети взаимосвязаны между собой. При этом каждая конкретная активная единица хранения имеет связи с некоторым ограниченным подмножеством всех AEX, принадлежащих данной сети. Связи между активными единицами хранения в одноранговой логической сети носят логический (в противоположность физическому) характер и для удобства обозначения в настоящем описании именуются термином «лoгичecкиe cвязи». На графовой модели логической сети хранения логическим связям между отдельными AEX соответствуют ребра графа (в то время как самим активным единицам хранения соответствуют вершины графа). В конкретной реализации настоящего изобретения логические связи представляют собой ссылки одних единиц хранения на другие. В одном из вариантов эти ссылки имеют вид уникальных идентификаторов ресурсов (URI) информационных объектов, входящих в состав соответствующих активных единиц хранения в логической сети хранения. Ссылки для каждого узла логической сети хранятся в специальном списке ссылок, ассоциированном с этим узлом (см. фиг.l). Физически информационные объекты, входящие в состав активных единиц хранения и списки ссылок могут храниться в файловой системе запоминающих устройств, на которых размещается хранилище, а программные агенты, принадлежащие AEX, физически являются частью хостирующей платформы.
Если провести аналогию между узлами и абонентами телефонной сети, то список ссылок может рассматриваться аналогично телефонной записной книжке абонента. При этом отличительной особенностью является то, что нигде не существует общего списка всех ссылок, т.е. не существует общей телефонной книги сети, а список абонентов и их номеров распределен между всеми телефонными книжками, хранящимися у абонентов.
В одном из вариантов реализации изобретения список ссылок описывается с помощью универсального языка описания связей между объектами ХLiпk (язык ХLiпk является стандартом, разработанным в WЗС: http://www.w3.org/XMIУLinkшg). Использование языка ХLiпk позволяет описать структуру связей всех активных единиц хранения в логической сети хранения единым гибким и удобным способом, опираясь на широко известный международный стандарт.
Логические связи между активными единицами хранения могут быть симметричными и асимметричными. Симметричные логические связи представляют собой двунаправленные ссылки между AEX. Другими словами, если между объектами А и В есть симметричная логическая связь, то это означает, что объект А имеет ссылку на объект В, и объект В имеет ссылку на объект А.
Асимметричные логические связи представляют собой однонаправленные ссылки между отдельными AEX, то есть, если между объектами А и В имеется асимметричная логическая связь, то это означает, что либо объект А имеет ссылку на объект В, либо объект В имеет ссылку на объект А. В обратном направлении ссылки нет.
В одном из вариантов изобретения логические связи между всеми активными единицами хранения в логической сети являются симметричными, в другом варианте - в этой сети присутствуют как симметричные, так и асимметричные логические связи между AEX. Способ формирования логических связей AEX в логической сети хранения обеспечивает такую их структуру, при которой вся сеть активных единиц хранения моделируется связным графом. Это свойство означает, что путем последовательного перехода по логическим связям между отдельными узлами сети можно из любого ее узла попасть в любой другой. Набор узлов, по которым осуществлялся переход от одной произвольной активной единицы хранения к другой в одноранговой логической сети хранения здесь и далее именуется термином «пyть». Количество логических связей, через которые проходит путь именуется термином «длинa пyти».
Отличительной особенностью способа формирования логических связей между узлами в настоящем изобретении является то, что он обеспечивает свойства «тecнoгo миpa» (Smаll Wогld) для одноранговой логической сети хранения. Суть этого свойства состоит в том, что в многомиллионной сети активных единиц хранения каждая пара узлов оказывается связанной между собой путем, проходящем в среднем не более чем через 5-6 промежуточных узлов, и это достигается при сравнительно небольшом числе логических связей каждого узла данной сети с другими. Количество логических связей, которые имеет каждый из узлов логической сети хранения, может быть описано как случайная величина, имеющая степенной закон распределения.
Формирование логических связей активных единиц хранения осуществляется в процессе добавления их в логическую сеть. В одном из вариантов настоящего изобретения способ добавления AEX заключается в следующем: информационный объект, принадлежащий добавляемой активной единице хранения последовательно сравнивается с одним или несколькими ИО, входящими в состав уже имеющихся в хранилище активных единиц хранения, и при каждом таком сравнении измеряется степень информационной близости между ним и текущим сравниваемым информационным объектом логической сети хранения. Способ измерения информационной близости ИО является отличительной особенностью данного изобретения и описывается ниже.
По мере осуществления процедур сравнения в пространстве логической сети хранения с задаваемыми метриками (в метризованном пространстве логической сети), выбирается некоторое множество активных единиц хранения, информационные объекты которых имеют минимальное (среди всех своих соседей) метрическое расстояние до ИО, содержащегося в данной добавляемой единице хранения. Такие единицы хранения называются локальными минимумами (в том смысле, что с точки зрения добавляемой AEX они представляют собой локальные минимумы в метризованном пространстве). Выбранные таким образом активные единицы хранения имеют наибольшую степень информационной близости к добавляемой AEX в том смысле, что входящие в их состав информационные объекты наиболее близки по метрике к ИО, принадлежащему добавляемой единице хранения.
Затем добавляемая активная единица хранения устанавливает, средствами программного агента, входящего в состав активной единицы хранения, логические связи, с другими AEX из выбранного множества, подключаясь тем самым в логическую сеть хранения. Мощность упомянутого множества выбранных AEX является параметром присоединения к логической сети хранения и характеризует качество ее сборки, а также эффективность работы конкретных алгоритмов поиска в логической сети. Способ удаления активных единиц хранения из логической сети в одном из вариантов настоящего изобретения заключается в том, что удаляемая AEX на первом этапе реально не удаляется из логической сети, а лишь маркируется как единица хранения, подлежащая удалению. При этом данная активная единица хранения утрачивает свои свойства в качестве объекта поиска в логической сети. То есть ее уже невозможно будет найти, однако она сохраняет все логические связи с другими AEX в сети и продолжает обеспечивать функции маршрутизации проходящих через нее поисковых запросов, гарантируя тем самым целостность внутренней структуры логической сети хранения. При этом даже при совпадении информации удаляемого ИО с АЗО удаляемый объект не включается в число подлежащих извлечению. При этом информационные объекты всех вновь добавляемых активных единиц хранения сравниваются с ИО удаляемой единицы хранения и если какая-то из вновь добавляемых AEX оказывается достаточно близкой к удаляемой активной единице хранения (имеется ввиду близость по метрике их соответствующих информационных объектов), то она добавляется в логическую сеть хранения путем замещения удаляемой AEX. Критерием достаточной близости является выполнение следующего соотношения: M < T, где M - метрическое расстояние между добавляемой активной единицей хранения и удаляемой AEX, а Г - некий порог, являющийся параметром процедуры замещения. Этот параметр подлежит оптимизации при конкретной практической реализации данного изобретения. Замещение активной единицы хранения А активной единицей хранения В заключается в том, что В наследует все логические связи, принадлежавшие А и тем самым как бы встает на ее место в структуре логической сети хранения. Активная единица хранения А при этом полностью удаляется как из логической сети, так и из физического хранилища (из памяти запоминающих устройств хранилища). Однако в другом варианте изобретения замещаемая активная единица хранения из физического хранилища не удаляется. Вместо этого информационный объект и список ссылок на другие AEX, входившие в состав данной активной единицы хранения архивируются и сохраняются в физическом хранилище для последующих нужд, например, для доступа органов внутренних дел, специальных служб, историков, журналистов и т.д. В другом варианте изобретения при поступлении команды на удаление активной единицы хранения, она сразу же удаляется из логической сети и из физического хранилища. А те активные единицы хранения, с которыми удаляемая AEX образовывала логические связи (их множество обозначается как N), соединяются между собой логическими связями по специальному алгоритму «cшивaния» (см. иллюстрацию на фиг.З). Алгоритм «cшивaния» в данном варианте заключается в том, что из всех активных единиц хранения, принадлежащих множеству TV, выбирается одна, наиболее близкая по метрике к удаляемой AEX. И она заменяет собой вакантное место удаляемой единицы хранения, то есть все остальные элементы множества N образуют с этой AEX логические связи.
В третьем варианте изобретения используется комплексный способ удаления активных единиц хранения, включающий в себя оба описанных выше способа. Выбор конкретного способа удаления AEX в данном варианте производится в зависимости от количества логических связей, имеющихся у данной удаляемой активной единицы хранения. При этом учитываются следующие соображения: чем больше таких логических связей имеет удаляемая AEX, тем большее влияние на топологию логической сети хранения оказывает ее удаление, кроме того, логическая сеть хранения построена таким образом, что распределение степеней вершин в графовой модели этой сети имеет степенной характер, а это означает, что общее количество активных единиц хранения, имеющих большое число логических связей, гораздо меньше чем единиц хранения, имеющих малое число связей.
Чем больше степень удаляемой вершины, тем большее предпочтение будет отдаваться способу замещения активных единиц хранения. И наоборот, чем меньшее количество логических связей удаляемые AEX имеют, тем более вероятно, что они будут удалены с помощью способа «cшивaния».
При внесении каких-либо модификаций в информационные объекты, входящие в состав активных единиц хранения, находящихся в логической сети, упомянутые AEX динамически перестраивают свои логические связи и тем самым как бы меняют свое местоположение в логической сети хранения. То есть в графовой модели логической сети узлы, соответствующие этим активным единицам хранения, будут иметь логические связи с некоторым множеством узлов, отличным от первоначального множества узлов, с которыми были связи до модификации информационного объекта. Перестройка логических связей активных единиц хранения обеспечивается средствами программных агентов, входящих в их состав. В одном из вариантов изобретения перестройка логических связей активной единицы хранения при модификации информационного объекта, входящего в ее состав, производится путем удаления данной AEX из логической сети хранения с последующим повторным ее добавлением.
Способ определения меры информационной близости информационных объектов, входящих в состав активных единиц хранения, в соответствии с настоящим изобретением основывается на представлении ИО в виде помеченных деревьев (lаbеlеd tгееs) с заданными корнями (называемыми в данном описании «глaвными кopнями») и ориентированных таким образом, что существуют направленные пути от корней этих деревьев до любых их вершин. В целях упрощения здесь и далее такие деревья будут называться помеченными корневыми деревьями.
Помеченное корневое дерево в данном контексте выступает в роли математической модели внутренней структуры информационного объекта. Корнем дерева в данном случае является главный родительский элемент, лежащий в основе древовидной структуры ИО. Вершинами дерева являются все элементы, образующие внутреннюю структуру ИО. Термины «вepшинa» дерева и «yзeл» дерева следует считать эквивалентными и взаимозаменяемыми. Корень является частным случаем вершины дерева. Метки (lаbеls) вершин дерева представляют собой значения, содержащиеся в данных элементах внутренней структуры ИО. В качестве меток вершин в информационных объектах могут выступать слова естественного языка, числа и прочие мнемонические обозначения.
Здесь и далее введены следующие условные обозначения:
Ti - дерево, моделирующее i-ый информационный элемент;
Ri - корень z'-оrо дерева; щ - количество вершин z-ого дерева. Для определения меры информационной близости между отдельными ИО вводится понятие метрики или метрического расстояния. Метрика между двумя информационными объектами J1 с щ вершинами и корнем R^ и J2 с n2 вершинами и корнем R2, в общем случае определяется как метрический тензор, задаваемый матрицей размером щ х n2: Ip(T15I, T2, ^2 )}ПlxЛ2 , где r\ , r2 - две вершины (соответственно из T1, Ti), которые названы временными корнями.
В такой матрице каждый элемент с индексом ij формируется путем вычисления метрической функции р между двумя изоморфно трансформированными деревьями J1 и J2, причем дерево J1 трансформируется путем объявления г-ого его узла временным корнем дерева и перестройки всей структуры дерева относительно этого узла (причем направления всех дуг дерева в процессе трансформации не меняется), а Ti трансформируется аналогичным образом, но только с объявлением его у'-ого узла временным корнем. При этом, после изоморфной трансформации деревья не будут уже являться ориентированными от корня. Трансформация дерева по г-му узлу называется г-м ракурсом информационного объекта. У каждого ИО количество возможных ракурсов равняется количеству узлов в нем. Нетрансформированное дерево представляет основной или главный ракурс информационного объекта. Все остальные возможные ракурсы называются вспомогательными (или временными). Описанная выше метрика между двумя ИО здесь и далее обозначается термином
«тeнзopнaя мeтpикa». Наряду с тензорной метрикой определяется главная метрика
Figure imgf000019_0001
как значение метрической функции от двух нетрансформированных деревьев, то есть ИО в главных ракурсах.
Помимо этого, вводится функция релевантности rel(r,T), равная расстоянию в дереве T от корня до вершины г. Расстояние определяется как длина пути, измеряемая количеством дуг от корня дерева до произвольной его вершины г. Как видно из определения, функция релевантности принимает неотрицательные целочисленные значения.
Также задается интегральная метрика: pы (T1 , T2 ) = ∑ Σ W(VeZ(V1 , T1 ))w(rel(r2 , T2 ))p(Tλ , rλ , T2 , r2 ) , w - вес релевантности. Вес r^Цr2e Г2 релевантности фактически играет роль индикатора, указывающего насколько важно положение той или иной вершины в структуре дерева при вычислении информационной близости двух ИО. В соответствии с настоящим методом он вводится как параметр системы, удовлетворяющий следующему требованию: значение веса релевантности убывает по мере роста его аргумента, то есть функции релевантности. Другими словами, чем ближе к корню дерева располагается та или иная вершина, тем выше ее важность и тем больший вклад она вносит в общий результат вычисления интегральной метрики. При увеличении расстояния от корня дерева, соответственно, картина обратная.
Чем больше различаются между собой сравниваемые ИО и по внутренней структуре и по значениям элементов, тем большее значение принимает /Эцц.
Следует отметить, что главная метрика pmaiп является частным случаем интегральной метрики ры при весе релевантности, определенном как 1 для аргумента, равного 0, и определенном как 0 для всех остальных значений аргумента. Интегральная и тензорная метрики выступают в качестве критериев, на основе которых в способах данного изобретения принимаются решения. Эти метрики используются как мера информационной близости ИО (а, следовательно, и активных единиц хранения, содержащих эти ИО) и в способе добавления AEX в логическую сеть хранения, и в способе их модификации и удаления из сети, а также эти метрики используются в способе поиска активных единиц хранения, содержащих информационные объекты, релевантные поисковым запросам. При этом, в зависимости от конкретных потребностей, применяется либо интегральная (в частном случае дающая главную метрику), либо тензорная метрика. Метрическая функция
Figure imgf000020_0001
определяется через меру общности двух деревьев T\ и Г2
Figure imgf000020_0003
следующим образом:
Figure imgf000020_0002
При этом мера общности
Figure imgf000020_0004
равна мощности (количеству вершин) наибольшего общего корневого поддерева (или мощности двух максимальных изоморфных (с учетом весов вершин) корневых поддеревьев) у этих двух деревьев, изоморфно трансформированных относительно заданных временных корней r\ и r2 соответственно. Корневым поддеревом в данном описании называется такое поддерево рассматриваемого корневого дерева, которое имеет тот же самый корень, что и само корневое дерево. Числовой параметр а выбирается при этом отрицательным (для обеспечения обратной пропорциональности метрической функции мере общности) и в одном из вариантов изобретения он принимает значения меньше -1.
Метрическая функция фактически является средством измерения степени сходства (общности) внутренних структур двух информационных объектов. Однако с ее помощью оценивается сходство структур двух ИО лишь по количеству общих вершин. Функции релевантности в совокупности с весами релевантности дополняют метрическую функцию и совместно с ней позволяют более точно оценивать сходство внутренних структур информационных объектов, уже с учетом уровня значимости всех узлов в их внутренних структурах.
Следует отметить, что одним из свойств метрической функции является то, что при мере общности двух деревьев, равной нулю (это имеет место в случаях, когда временные корни сравниваемых деревьев имеют различные значения), она не определена
(т.к. при ее вычислении производится деление на 0). В таких случаях метрическая функция доопределяется значением «бecкoнeчнocть», которое обозначается символом ∞.
Учитывая описанное выше свойство метрической функции, в одном из вариантов изобретения производится оптимизация представления тензорной метрики. Способ оптимизации заключается в хранении только тех элементов тензорной метрики, которые не принимают значения ∞ либо значения, большего некоторого порога β, являющегося параметром оптимизации.
В соответствии с настоящим изобретением, способ поиска активных единиц хранения в логической сети состоит из нескольких последовательных этапов (иллюстрация способа поиска представлена на фиг.4). На первом этапе на основе поискового запроса формируется специальная информационная сущность, именуемая также поисковой маской или маской поиска. Для поисковой маски создается древовидная внутренняя структура, аналогичная структуре информационных объектов, входящих в состав активных единиц хранения в логической сети. При формировании масок поиска используются те же самые нотации (схемы данных), на которых основаны информационные объекты данного хранилища. Однако, в отличие от ИО, поисковые маски могут строго не соответствовать этим нотациям. Схемы данных лишь определяют внутреннюю структуру поисковых масок в целом, это как бы ориентир, на основе которого строится дерево элементов маски поиска. При этом каждому узлу в структуре каждого из искомых информационных объектов ставится в соответствие узел в структуре поисковой маски (имеющий точно такое же местоположение в дереве). Значение данных в узле маски называется частичным критерием поиска информационных объектов. Здесь и далее понятия «пoиcк информационного oбъeктa» и «пoиcк активной единицы хранения, содержащей искомый информационный oбъeкт» следует считать эквивалентными и взаимозаменяемыми.
В качестве примера вышесказанному - если имеется логическая сеть хранения музыкальных произведений, и поисковый запрос содержит название искомого музыкального произведения, то на основе этого запроса будет сформирована маска, в структуре которой в том месте, где у информационных объектов располагаются названия произведений, будет указана искомая информация, выступающая в качестве частичного критерия поиска, означающего, что нужно искать те музыкальные произведения, которые имеют название, соответствующее этому частичному критерию.
Совокупность всех частичных критериев поиска (всех значений данных в узлах маски, с учетом ее внутренней структуры) определяет полный критерий поиска информационных объектов по данной маске.
Если информационный объект соответствует полному критерию поиска, то он называется полностью релевантным поисковому запросу, на основе которого была сформирована маска, определяющая этот полный критерий. Если же информационный объект не соответствует полному критерию поиска, однако соответствует некоторым его частичным критериям, то такой объект называется частично релевантным поисковому запросу. В случае, когда информационный объект не соответствует ни одному частичному критерию поиска, он называется нерелевантным данному поисковому запросу.
Активная единица хранения называется релевантной (либо частично релевантной) поисковому запросу (маске поиска), если информационный объект, входящий в ее состав является релевантным (либо частично релевантным) этому поисковому запросу.
Частичные критерии поиска могут быть однозначно определенными
(однозначными) и неоднозначно определенными (неоднозначными). Однозначный частичный критерий поиска задается одним конкретным искомым значением элемента в структуре дерева поисковой маски. Этому критерию будут соответствовать все информационные объекты хранилища, у которых соответствующий элемент в дереве их описания имеет значение, точно совпадающее с данным частичным критерием.
Неоднозначный частичный критерий поиска определяет некий диапазон возможных значений искомого элемента в структуре дерева маски, при этом такому критерию будут соответствовать все информационные объекты хранилища, значения соответствующих узлов которых принадлежат указанному диапазону.
Например, если маска запроса содержит элемент, описывающий заголовок музыкального произведения, и дан только один вариант описания заголовка, то этот элемент - однозначный частичный критерий. Такому частичному критерию будут соответствовать все музыкальные произведения, имеющие данное значение заголовка.
Если же, например, маска поиска содержит элемент, описывающий некоторое множество возможных значений цвета автомобиля (синий, черный, красный и т.д.), то этот элемент - неоднозначный частичный критерий. Такому неоднозначному критерию будут соответствовать все автомобили, имеющие цвет, принадлежащий множеству описываемых значений (либо синий, либо черный, либо красный и т.д.).
В соответствии с настоящим изобретением существует несколько способов спецификации диапазона возможных значений у неоднозначных частичных критериев поиска: • «Любoe значение)) - регламентирует, что данному частичному, критерию соответствуют все информационные объекты с любым значением соответствующего элемента в своей внутренней структуре.
• «Любoe значение из списка...» - регламентирует, что данному частичному критерию соответствуют все информационные объекты, имеющие значение соответствующего элемента своей внутренней структуры, принадлежащее множеству указанных вариантов (списку возможных значений).
• «Бoлынe, чем α», «нe меньше, чем α», «нe больше, чем α», «мeньшe, чем α», «бoльшe а, но меньше β» и т.д - этот способ спецификации используется для частичных критериев поиска, значения которых могут быть представлены в числовой форме и регламентирует то, что данному частичному критерию соответствуют все информационные объекты, значения соответствующего элемента внутренней структуры которых принадлежат указанному диапазону.
• «3a исключением значений из списка... » - регламентирует, что данному частичному критерию соответствуют все информационные объекты, значения соответствующих элементов которых не совпадают с указанными в списке вариантами.
После того как поисковая маска будет сформирована, производится непосредственно сам процесс поиска активных единиц хранения, содержащих информационные объекты, соответствующие данной маске в логической сети хранения (см. фиг.4). При этом, в зависимости от условий поиска и требований к поисковой процедуре может производиться поиск информационных объектов с различной степенью релевантности поисковой маске (а, следовательно, и поисковому запросу). Требуемая степень релевантности результатов поисковой маске является параметром поискового способа и задается каждый раз при инициации очередной процедуры поиска. При этом ее значение либо конфигурируется автоматически исходя из требований к поисковой процедуре, либо каждый раз задается пользователем. В дальнейшем, для простоты описания, понятие «peлeвaнтнocть» будет использоваться для обозначения релевантности с заранее заданной степенью.
Упомянутая выше поисковая процедура носит распределенный характер и в ней принимают участие программные агенты всех активных единиц хранения, находящихся в логической сети хранения (более подробно об этом смотри ниже).
Наряду с требуемой степенью релевантности результатов поиска, дополнительными параметрами поисковой процедуры могут быть: максимальное количество активных единиц хранения, которые могут быть рассмотрены в ходе этой процедуры поиска; максимальная длительность поисковой процедуры по времени и т.д. Инициаторами процедур поиска в логической сети хранения в соответствии с данным способом могут быть либо сами активные единицы хранения, находящиеся в этой сети, либо внешние по отношению к этой сети сущности, например приложения, обслуживающие логическую сеть хранения и предоставляющие пользователям услуги на ее основе. Отличительной особенностью настоящего изобретения является то, что в одном из его вариантов после формирования поисковой маски из поискового запроса, на основе этой маски создается специальный активный запросный объект (АЗО), который помещается в логическую сеть хранения, при этом используется тот же самый способ размещения в логической сети, что и при добавлении активных единиц хранения - активный запросный объект устанавливает множество логических связей с AEX в сети и точно также, на правах обычной активной единицы хранения участвует в маршрутизации движения точек текущей активности поисковых процессов (описаны ниже), а также сам может являться предметом поиска, либо инициатором поиска.
Важнейшей функцией активных запросных объектов является поддержание актуальности информации о результатах поисковых запросов, на которые они ориентированы. Например, если в логической сети хранения с информацией об автомобилях размещается АЗО, ориентированный на запрос вида: «cкoлькo автомобилей такой-то конкретной марки имeeтcя», то этот объект будет периодически инициировать запросы данного вида и хранить их результаты. Конкретный временной график инициации поисковых запросов посредством данного активного запросного объекта будет определяться множеством параметров, важнейшими из которых являются: требуемая степень актуальности («cвeжecти») предоставляемой информации о результатах поиска, динамика обновления данных в логической сети хранения, степень загруженности узлов логической сети поисковыми запросами, возможности вычислительных систем и каналов их связей при физической реализации хранилища и т.д.
В другом варианте изобретения активные запросные объекты не размещаются среди активных единиц хранения, а образуют свою собственную логическую сеть, построенную по тем же самым принципам, что и сеть хранения AEX, описывающих сущности предметной области. Такая логическая сеть активных запросных объектов в данном описании именуется термином «мeтa-ceть».
При этом каждому из активных запросных объектов, находящихся в мета-сети, будет соответствовать некоторое множество AEX из логической сети хранения, релевантных поисковому запросу, на который данный АЗО ориентирован (с заданной степенью релевантности).
Все активные запросные объекты из мета-сети будут периодически инициировать поисковые запросы к логической сети активных единиц хранения с целью поддержания актуальности своей информации, на предоставление которой они ориентированы.
В контексте описания способа поиска большое значение имеет термин «тoчкa вxoдa» поискового процесса. Точкой входа называется активная единица хранения или узел на графовой модели логической сети хранения, через который инициируется процесс поиска AEX, содержащей информационный объект, релевантный поисковой маске (см. иллюстрацию на фиг.2).
В одном из вариантов настоящего изобретения в качестве точек входа могут выступать любые узлы логической сети хранения. Если какая-либо активная единица хранения инициирует поиск других AEX5 то она сама принимает на себя роль точки входа для поискового процесса.
Инициация поискового процесса активной единицей хранения может производиться либо по инициативе пользователей, либо автоматически, без участия человека как составная часть более сложных процессов взаимодействия электронных устройств.
В тех вариантах реализации изобретения, где имеются сценарии инициации поисковых запросов пользователями, требуется обеспечить пользовательские интерфейсы для ввода поисковых запросов с последующей инициацией поисковой процедуры через одну из активных единиц хранения в логической сети.
Выбор конкретной AEX определяется условиями реализации технических систем на основе данного изобретения. Например, если активная единица хранения является частью более сложной системы, какого-либо программного или аппаратно- программного устройства, то она предоставляет этому устройству услуги по поиску других аналогичных устройств, являясь при этом точкой входа в логическую сеть хранения для данного конкретного экземпляра системы, то есть все поисковые процедуры инициируются данным устройством через указанную AEX.
В другом варианте используется некое ограниченное подмножество узлов логической сети хранения, выступающих в качестве точек входа, а также некоторый специализированный сервер балансировки нагрузки точек входа, осуществляющий распределение нагрузки между различными точками входа в логической сети хранения.
При этом во все активные единицы хранения, вновь добавляемые в логическую сеть, записывается адрес этого сервера, представляемый в конкретном варианте осуществления изобретения в виде URL. Физически сервер балансировки нагрузки может размещаться на любой вычислительной машине, имеющей доступ в физическую компьютерную сеть хранилища. В том числе, такой сервер может располагаться на одной из ЭВМ, содержащей хостирующую платформу и входящей в состав децентрализованного хранилища. В другом варианте изобретения сервер балансировки нагрузки может быть представлен в виде отдельного сервиса, внешнего по отношению к распределенной системе хранения. Физически такой сервис может быть размещен на отдельном вычислительном устройстве, соединенном линиями связи с распределенным хранилищем. В результате, если какая-либо активная единица хранения инициирует запрос на поиск других AEX в логической сети хранения, то она сначала запрашивает сервер балансировки нагрузки, который выдает адрес точки входа, через которую затем инициируется сам процесс поиска. Количество точек входа и их загрузка в такой системе динамически конфигурируются сервером балансировки нагрузки точек входа в зависимости от интенсивности поисковых запросов в данный момент времени, а также от пропускной способности точек входа по обслуживанию поисковых запросов.
Поскольку, как будет показано ниже, процесс поиска носит распределенный характер и в нем попеременно задействуются те или иные узлы логической сети хранения, в данном описании вводится специальный термин — «тoчкa текущей активности поискового процесса)) или «тeкyщaя точка пoиcкa», обозначающий текущую точку (активную единицу хранения) логической сети, которая задействуется в данный момент времени в поисковых операциях или, другими словами, в которой сосредоточена поисковая активность данной конкретной процедуры поиска (см. фиг.4).
Следует отметить, что в соответствии с данным изобретением все поисковые операции в логической сети хранения носят распределенный, децентрализованный характер и выполняются средствами программных агентов активных единиц хранения. При этом в каждый момент времени в процессе поиска задействованы программные агенты тех AEX, в которых в этот момент находится текущая точка поиска.
В процессе поиска точка текущей поисковой активности последовательно перемещается от точки входа к другим узлам логической сети хранения по логическим связям, которые между этими узлами имеются (см. фиг.4). Отличительной особенностью при этом является то, что в каждой активной единице хранения, в которую перемещается текущая точка поиска, производится сравнение информационного объекта, входящего в ее состав с маской поиска по метрике, описанной выше.
Как уже упоминалось ранее, это сравнение производится средствами программного агента данной AEX. Физически сравнение производится средствами хостирующей платформы, которая и предоставляет программные агенты активным единицам хранения. Цель сравнения - определить степень информационной близости между запросной маской и информационным объектом, принадлежащим данной текущей активной единице хранения, то есть, другими словами, определить насколько данная AEX соответствует (релевантна) поисковому запросу. После того, как это сравнение будет произведено, принимается решение, достигнут ли конечный результат в задаче поиска. Это решение зависит во-первых, от того, является ли рассматриваемая текущая активная единица хранения релевантной поисковому запросу с той степенью релевантности, которая заложена в данной поисковой процедуре, а во вторых, от того, не найдено ли требуемое количество релевантных AEX.
Максимальное количество релевантных запросу активных единиц хранения, которое требуется найти, также является одним из параметров поисковой процедуры и определяется конкретными задачами и ситуациями поиска. Это требуемое количество в каждом отдельном случае может варьироваться от одной единицы, например, в запросах вида: «нaйти хотя бы один объект, удовлетворяющий определенным критериями до неограниченной величины, например: «нaйти все объекты, удовлетворяющие некоторым критериям)) или «cкoлькo всего в хранилище находится таких объектов)).
Если данная AEX релевантна поисковому запросу и уже были найдены все другие релевантные единицы хранения, составляющие требуемое множество, то информация об этой AEX возвращается в тот узел или внешнюю по отношению к логической сети хранения сущность, которые инициировали поиск и на этом процедура поиска завершается.
Если же не все требуемое множество активных единиц хранения было найдено и/или данная AEX не обладает достаточной степенью релевантности, то процесс поиска продолжается и дальнейшим шагом в нем является выбор последующего узла-кандидата, в который затем перемещается точка текущей поисковой активности и вся вышеописанная процедура рекурсивно повторяется.
Выбор нужного узла-кандидата может производиться из множества всех активных единиц хранения, с которыми у текущего узла (текущего на момент нахождения в нем поисковой активности) имеются логические связи, а также из всех
AEX, являющихся «coceдями» (по логическим связям) узлов, расположенных на всем предшествующем пути перемещения поискового процесса (см. фиг.4).
Отличительной особенностью способа выбора последующих узлов-кандидатов является то, что в результате точка текущей активности поискового процесса перемещается в направлении увеличения релевантности узлов поисковой маске (то есть в направлении увеличения меры информационной близости маски и информационных объектов, находящихся в активных единицах хранения). При этом на каких-то конкретных участках перемещения поисковая активность может переходить (откатываться) и на менее релевантные узлы, но в целом, она всегда будет двигаться в направлении увеличения релевантности. И поэтому можно ожидать, что основное количество искомых активных единиц хранения (а следовательно и содержащихся в них информационных объектов) будет находиться на конечных участках путей перемещения поисковой активности по логической сети хранения.

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Система хранения, поиска и извлечения множества информационных объектов произвольной предметной области, содержащая распределенную вычислительную систему, состоящую из одного или нескольких вычислительных устройств, соединенных между собой линиями связи, связную логическую сеть хранения, каждый узел которой представляет собой активную единицу хранения (AEX), причем связи между узлами упомянутой сети образованы ссылками одних активных единиц хранения на другие, при этом каждая активная единица хранения размещается на одном из вычислительных устройств упомянутой распределенной вычислительной системы и содержит: по меньшей мере один из упомянутого множества информационных объектов, каждый из которых представлен в виде древовидной структуры, список ссылок на некоторое множество других активных единиц хранения, посредством которого данная AEX принимает участие в работе логической сети хранения и ассоциированный программный агент, позволяющий выполнять над данной AEX операции, связанные с поиском, добавлением и извлечением информации по запросам пользователя, используя упомянутый список ссылок.
2. Система по п.l, в которой внутренняя структура информационных объектов регламентируется нотациями, специфичными для предметных областей, которым принадлежат ИО.
3. Система по п.l, в которой ИО представляют собой электронные документы, имеющие вид ХМL-документов.
4. Система по п.З, в которой ХМL-документы имеют вид ХМL-файлов в файловой системе вычислительных машин, хранящих ИО.
5. Система по п.2, в которой нотации имеют вид ХМL-схем стандарта XML Sсhеmа.
6. Система по п.l, в которой информационным объектам присваиваются уникальные идентификационные коды (УИК).
7. Система по п.6, в которой УИК представляют собой электронные коды продуктов (EPC).
8. Система по п.6, в которой УИК представляют собой глобальные уникальные идентификаторы объектов (GUID).
9. Система по п.l, в которой ссылки между ИО являются однонаправленными.
10. Система по п.l, в которой ссылки между ИО являются как двунаправленными так и однонаправленными.
11. Система по п.l, в которой ссылки имеют вид уникальных идентификаторов ресурсов (URI) объектов.
12. Система по п.l, в которой ссылки между ИО описываются в виде XML- документов формата ХLiпk.
13. Система по п.l, в которой используется подмножество узлов логической сети хранения в качестве точек входа в эту сеть, при этом имеется специализированный сервер, осуществляющий динамическую балансировку нагрузки точек входа и задающий общее количество точек входа.
14. Система по п.13, в которой сервер динамической балансировки нагрузки точек входа физически реализуется на хостирующей платформе одного из вычислительных устройств распределенной вычислительной системы.
15. Система по п.13, в которой сервер динамической балансировки нагрузки точек входа физически реализуется в виде отдельного сервиса, внешнего по отношению к распределенной системе хранения информационных объектов.
16. Система по п.13, в которой при каждом клиентском обращении к логической сети хранения инфраструктура динамической балансировки нагрузки точек входа выполняет роль посредника и выдает клиентской системе ссылку на один из узлов логической сети, который становится для данной клиентской системы точкой входа в логическую сеть хранения.
17. Система по п.16, в которой выбор конкретной точки входа осуществляется в зависимости от интенсивности поисковых запросов в данный момент времени, а также от пропускной способности точек входа по обслуживанию поисковых запросов.
18. Система по п.l, в которой при внесении модификаций в информационные объекты активных единиц хранения, находящихся в логической сети хранения, AEX динамически перестраивают свои логические связи.
19. Система по п.18, в которой динамическая перестройка логических связей активной единицы хранения в логической сети производится средствами программного агента, входящего в ее состав.
20. Система по п.l, в которой программный агент каждой активной единицы хранения производит сравнение ИО, входящего в ее состав, с ИО любой другой AEX и по результатам сравнения вычисляет значение метрического расстояния между сравниваемыми ИО.
21. Система по п.20, в которой метрическое расстояние между двумя ИО определяется как матрица размером щ * л2: Ip(T1 , rx ,T2, r2)} п Xп , где T1, T2 - корневые деревья, моделирующие внутреннюю структуру сравниваемых ИО, r\, ri - две вершины (соответственно из J1, J2), которые названы временными корнями, щ , и2 - количество узлов в структуре первого и второго ИО соответственно; при этом
Figure imgf000030_0001
где c(Гl5Гi,J2,r2) - мера общности, равная мощности (количеству вершин) наибольшего общего поддерева у двух деревьев сравниваемых ИО, изоморфно трансформированных относительно заданных временных корней r\ и r2 соответственно, а - числовой параметр, принимающий значения а <— 1.
22. Система по п.21, в которой задается главное значение метрического расстояния
Figure imgf000030_0002
как значение метрической функции от двух нетрансформированных деревьев.
23. Система по п.21, в которой задается интегральное значение метрического расстояния между двумя ИО
Pm (7 I » T 2 ) = ∑ ∑ w(rel(rx , Tx ))w(rel(r2 , T2 ))ρ(Tλ ,rx,T2,r2) , где rel(r, T) - функция пeTЛeT2 релевантности, равная расстоянию в дереве T от корня до вершины г, причем расстояние определяется как длина пути, измеряемая количеством дуг от корня дерева до произвольной его вершины г, а w — вес релевантности, указывающий насколько важно положение вершины в структуре дерева при вычислении информационной близости двух ИО.
24. Способ добавления информации о новых объектах произвольной предметной области к системе хранения и поиска множества информационных объектов по п.l, согласно которому а) представляют информацию о новых объектах в виде древовидной структуры, создавая таким образом информационный объект (ИО) в связной логической сети хранения упомянутой системы, б) с каждым созданным ИО ассоциируют программный агент, предназначенный для выполнения операций в отношении этого ИО, а также список ссылок на другие ИО, находящиеся в логической сети хранения, формируя таким образом активную единицу хранения, в) сравнивают ИО, входящий в состав каждой созданной AEX с множеством других ИО, имеющихся в упомянутой связной логической сети хранения, и измеряют метрическое расстояние между ИО по результатам сравнения, г) для множества тех AEX, ИО которых имеют наименьшее метрическое расстояние до добавляемого ИО, создают логические связи с AEX, содержащей добавляемый ИО, д) для всех ссылок, содержащихся в списке ссылок добавляемой AEX, записывают метрические расстояния до соответствующих этим ссылкам информационных объектов, е) сохраняют добавляемую AEX на одном из вычислительных устройств упомянутой системы.
25. Способ по п.24, в котором при создании логических связей добавляют соответствующие ссылки в списки ссылок добавляемой и существующих активных единиц хранения.
26. Способ по п.24, в котором метрическое расстояние между двумя ИО определяется как матрица размером щ х n2: {p(Ti,rι,T2,r2)}п xп , где T1, J2 - корневые деревья, представляющие собой внутреннюю структуру сравниваемых ИО, r\, r2 — две вершины, названные временными корнями, соответственно из T1, J2; щ, пj - количество узлов в структуре первого и второго ИО соответственно; при этом p(TьГ12,r2) = (c(Tьr1,J2,r2))α, где
Figure imgf000031_0001
- мера общности, равная мощности наибольшего общего поддерева у двух деревьев сравниваемых ИО, изоморфно трансформированных относительно заданных временных корней r\ и r2 соответственно, а - числовой параметр, принимающий значения а < — 1.
27. Способ по п.24, в котором задается главное значение метрического расстояния PmOm(Ji5J2) =/>(T1r/?ьT2r/?2) как значение метрической функции от двух нетрансформированных деревьев.
28. Способ по п.24, в котором задается интегральное значение метрического расстояния между двумя ИО pmi(TxJ2) = Ъ
Figure imgf000031_0002
где rel(r,T) - функция
Гιe TЛeT2 релевантности, равная расстоянию в дереве J от корня до вершины г, причем расстояние определяется как длина пути, измеряемая количеством дуг от корня дерева до произвольной его вершины г, а w - вес релевантности, указывающий насколько важно положение вершины в структуре дерева при вычислении информационной близости двух ИО.
29. Способ поиска и извлечения информации об объектах произвольной предметной области в системе хранения и поиска множества информационных объектов по п.l, согласно которому: а) создают маску поиска, содержащую информацию, релевантную которой необходимо извлечь из упомянутой системы, причем маска поиска представляет собой информационный объект (ИО) с древовидной структурой, аналогичной древовидной структуре информационных объектов, хранящихся в упомянутой системе, б) создают активный запросный объект (АЗО) на основе созданной маски поиска, содержащий параметры поиска, в) сравнивают АЗО с ИО, содержащимися в каждой из множества активных единиц хранения логической сети упомянутой системы, причем переход от одной AEX к другой осуществляют по имеющимся логическим связям между ними в направлении уменьшения метрического расстояния между информационными объектами, входящими в состав этих AEX, г) извлекают ИО, удовлетворяющий заданным в АЗО параметрам поиска, в качестве ответа на запрос.
30. Способ по п.29, в котором в состав АЗО вводят программный агент для выполнения операций над АЗО.
31. Способ по п.29, в котором вводят АЗО в логическую сеть хранения упомянутой системы.
32. Способ по п.29, в котором АЗО вводится в мета-сеть, каждый элемент которой представляет собой АЗО.
33. Способ по любому из пп.29-32, в котором АЗО периодически выполняет обновление содержащейся в нем информации путем поисковых запросов к соответствующим AEX в логической сети хранения упомянутой системы.
34. Способ по п.29, в котором сравнение осуществляют средствами программного агента, входящего в состав АЗО.
35. Способ по п.29, 32, в котором каждому из АЗО, находящихся в мета-сети, соответствует множество информационных объектов логической сети хранения, релевантных поисковому запросу, на который данный активный запросный объект ориентирован.
36. Способ по п.29, в котором параметрами поиска являются по меньшей мере один из: требуемая степень актуальности выдаваемой в результате поиска информации, динамика обновления данных в логической сети хранения, степень загруженности узлов логической сети поисковыми запросами, возможности вычислительных систем и каналов их связей, количество операций вычисления метрического расстояния, требуемая степень релевантности выдаваемой информации, лимит времени, отводимого на выполнение каждой отдельной поисковой процедуры.
37. Способ по п.29, в котором поисковая маска формируется с использованием тех же нотаций, что и информационные объекты хранилища; при этом каждому узлу в структуре искомых информационных объектов ставится в соответствие узел в структуре поисковой маски; значение данных в узле маски является частичным критерием поиска ИО; совокупность всех частичных критериев поиска определяет полный критерий поиска информационных объектов по данной маске.
38. Способ по п.29, 37, в котором частичные критерии поиска могут быть однозначными и неоднозначными.
39. Способ по п.29, в котором в зависимости от условий поиска и требований к поиску, производится поиск информационных объектов с различной степенью релевантности поисковой маске.
40. Способ по п.29, в котором инициаторами процедур поиска могут быть узлы логической сети хранения.
41. Способ по п.29, в котором в качестве точек входа для поискового процесса выступают любые узлы логической сети хранения.
42. Способ по п.29, в котором используется подмножество узлов логической сети хранения в качестве точек входа для поискового процесса, при этом выделяют специализированную инфраструктуру, осуществляющую динамическую балансировку нагрузки точек входа и задающую общее количество точек входа.
43. Способ по п.29, в котором метрическое расстояние между двумя ИО определяется как матрица размером щ х n2: {/>(Г1,/-12,r2)}ЛlxЛ2 , где J1, J2 - корневые деревья, представляющие внутреннюю структуру сравниваемых ИО, r\ , r2 - две вершины, названные временными корнями, соответственно из J1, J2; п\, и2 - количество узлов в структуре первого и второго ИО соответственно; при этом />(JьrьJ2,r2)
Figure imgf000033_0001
- мера общности, равная мощности наибольшего общего поддерева у двух деревьев сравниваемых ИО, изоморфно трансформированных относительно заданных временных корней r\ и r2 соответственно, а — числовой параметр, принимающий значения а <— 1.
44. Способ по п.43, в котором задается главное значение метрического расстояния /9^1n(J15J2) =/>( J1JJ1, J2^2) как значение метрической функции от двух нетрансформированных деревьев.
45. Способ по п.29, в котором задается интегральное значение метрического расстояния между двумя ИО Pы(тi> T 2) = ∑ ∑w(reKri> тi))'w(rel(r2,T2))p(Turι,T2,r2), где rel(r,T) - функция
Figure imgf000034_0001
релевантности, равная расстоянию в дереве T от корня до вершины г, причем расстояние определяется как длина пути, измеряемая количеством дуг от корня дерева до произвольной его вершины г, а w - вес релевантности, указывающий важность положения вершины в структуре дерева при вычислении информационной близости двух ИО.
46. Способ удаления информации об объектах произвольной предметной области из системы хранения и поиска множества информационных объектов по п.l, согласно которому а) помечают меткой AEX, подлежащую удалению, б) при добавлении новых AEX в упомянутую систему хранения и поиска сравнивают ИО добавляемых AEX с ИО удаляемой AEX и при удовлетворении критерия близости по метрике упомянутых ИО замещают удаляемую AEX добавляемой AEX в логической сети упомянутой системы.
47. Способ по п.46, в котором подлежащая удалению AEX физически удаляется из вычислительной системы после завершения процедуры удаления AEX из логической сети хранения.
48. Способ по п.46, в котором подлежащая удалению AEX архивируется после завершения процедуры удаления AEX из логической сети хранения и сохраняется в архиве в вычислительной системе.
49. Способ по п.46, в котором при каждом удалении осуществляется изменение ссылок в списке ссылок информационных объектов, связанных с данным ИО.
50. Способ по п.46, в котором метрикой является информационное расстояние между двумя ИО, определяемое как матрица размером щ х n2: {p(T[,ri,T2,r2)}п xп , где Z1, T2 - корневые деревья, представляющие собой внутреннюю структуру сравниваемых ИО, r\, r2 - две вершины (соответственно из Z1, Z2), которые названы временными корнями, П\, п2 - количество узлов в структуре первого и второго ИО соответственно; при этом
Figure imgf000034_0002
где c(Thrι,T2,r2) - мера общности, равная мощности наибольшего общего поддерева у двух деревьев сравниваемых ИО, изоморфно трансформированных относительно заданных временных корней r\ и r2 соответственно, а - числовой параметр, принимающий значения а < — 1.
51. Способ по п.50, в котором задается главное значение метрического расстояния pmaiп(Tι,T2) =p{Tι^ι,T2Ji2) как значение метрической функции от двух нетрансформированных деревьев.
52. Способ по п.46, в котором задается интегральное значение метрического расстояния между двумя ИО
A (TI > TI ) = ∑ ∑w(^/(r1,Гi))w(re/(r22))/)1 ,λ-12,r2) , где rel(r,T) - функция
ГleTЛeT2 релевантности, равная расстоянию в дереве T от корня до вершины г, причем расстояние определяется как длина пути, измеряемая количеством дуг от корня дерева до произвольной его вершины г, а w - вес релевантности, указывающий важность положения вершины в структуре дерева при вычислении информационной близости двух ИО.
53. Способ удаления информации об объектах произвольной предметной области из системы хранения и поиска множества информационных объектов по п.l, согласно которому а) для активной единицы хранения, подлежащей удалению рассматривают все соседние по логическим связям AEX, выбирая из них одну АЕХ-кандидата, наиболее близкую по метрике к удаляемой AEX, б) исключают из логической сети хранения AEX, подлежащую удалению, в) на место исключенной AEX помещают АЕХ-кандидата и при этом все логические связи удаляемой AEX замыкают на АЕХ-кандидата, перестраивая соответствующим образом записи в списках ссылок АЕХ-кандидата и всех АЕХ-соседей, г) пересчитывают значения метрик по всем логическим связям АЕХ-кандидата.
54. Способ по п.53, в котором подлежащая удалению AEX физически удаляется из вычислительной системы после завершения процедуры удаления AEX из логической сети хранения.
55. Способ по п.53, в котором подлежащая удалению AEX архивируется после завершения процедуры удаления AEX из логической сети хранения и сохраняется в архиве в вычислительной системе.
56. Способ по п.53, в котором метрика представляет собой метрическое расстояние между двумя ИО, определяемое как матрица размером щ * и2: {p{Tχ ,rλ,T2,r2)} щXПj , где Z1, Г2 - корневые деревья, представляющие собой внутреннюю структуру сравниваемых ИО, r\ , ri — две вершины, называемые временными корнями, соответственно из T\, J2; щ, и2 - количество узлов в структуре первого и второго ИО соответственно; при этом
Figure imgf000035_0001
где - мера общности, равная мощности наибольшего общего поддерева у двух деревьев сравниваемых ИО, изоморфно трансформированных относительно заданных временных корней Г\ и r2 соответственно, а - числовой параметр, принимающий значения а < — 1.
57. Способ по п.56, в котором задается главное значение метрического расстояния
Figure imgf000036_0001
как значение метрической функции от двух нетрансформированных деревьев.
58. Способ по п.53, в котором задается интегральное значение метрического расстояния между двумя ИО
Pы(т \ > T 2) = ∑ ∑w(rel(ri,Tι))w(rel(r2,T2))p(Tϊ,ri,T2,r2), где rel(r,T) - функция r^TЛe T2 релевантности, равная расстоянию в дереве T от корня до вершины г, причем расстояние определяется как длина пути, измеряемая количеством дуг от корня дерева до произвольной его вершины г, а w — вес релевантности, указывающий важность положения вершины в структуре дерева при вычислении информационной близости двух ИО.
PCT/RU2007/000475 2007-09-03 2007-09-03 Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés WO2009031915A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/RU2007/000475 WO2009031915A1 (fr) 2007-09-03 2007-09-03 Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés
US12/676,216 US8156117B2 (en) 2007-09-03 2007-09-03 Method and system for storing, searching and retrieving information based on semistructured and de-centralized data sets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2007/000475 WO2009031915A1 (fr) 2007-09-03 2007-09-03 Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés

Publications (1)

Publication Number Publication Date
WO2009031915A1 true WO2009031915A1 (fr) 2009-03-12

Family

ID=40429091

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2007/000475 WO2009031915A1 (fr) 2007-09-03 2007-09-03 Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés

Country Status (2)

Country Link
US (1) US8156117B2 (ru)
WO (1) WO2009031915A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103180850A (zh) * 2011-03-23 2013-06-26 株式会社日立制作所 计算机系统和使用了计算机系统的信息提示方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953722B2 (en) * 2007-12-21 2011-05-31 Sap Ag Query response service for business objects
US8180805B2 (en) * 2008-08-25 2012-05-15 Sap Ag Systems and methods for assigning hosts in response to a data query
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
US9396021B2 (en) 2008-12-16 2016-07-19 International Business Machines Corporation Techniques for dynamically assigning jobs to processors in a cluster using local job tables
US8239524B2 (en) * 2008-12-16 2012-08-07 International Business Machines Corporation Techniques for dynamically assigning jobs to processors in a cluster based on processor workload
US9384042B2 (en) 2008-12-16 2016-07-05 International Business Machines Corporation Techniques for dynamically assigning jobs to processors in a cluster based on inter-thread communications
US8122132B2 (en) * 2008-12-16 2012-02-21 International Business Machines Corporation Techniques for dynamically assigning jobs to processors in a cluster based on broadcast information
DE112009005311A5 (de) * 2009-10-12 2012-08-02 Jöran Beel Verfahren zum Bestimmen einer Ähnlichkeit von Objekten
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
US9626378B2 (en) * 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US8909641B2 (en) 2011-11-16 2014-12-09 Ptc Inc. Method for analyzing time series activity streams and devices thereof
US9098312B2 (en) 2011-11-16 2015-08-04 Ptc Inc. Methods for dynamically generating an application interface for a modeled entity and devices thereof
US9576046B2 (en) 2011-11-16 2017-02-21 Ptc Inc. Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof
CN103186653B (zh) * 2011-12-30 2016-04-13 国际商业机器公司 辅助查询方法和设备、查询方法和设备及命名查询系统
US9639464B2 (en) * 2012-09-27 2017-05-02 Mellanox Technologies, Ltd. Application-assisted handling of page faults in I/O operations
CN103795689A (zh) * 2012-10-29 2014-05-14 中兴通讯股份有限公司 资源订阅方法及装置
US9158532B2 (en) 2013-03-15 2015-10-13 Ptc Inc. Methods for managing applications using semantic modeling and tagging and devices thereof
US9762637B2 (en) 2014-03-21 2017-09-12 Ptc Inc. System and method of using binary dynamic rest messages
US9961058B2 (en) 2014-03-21 2018-05-01 Ptc Inc. System and method of message routing via connection servers in a distributed computing environment
WO2015143416A1 (en) 2014-03-21 2015-09-24 Ptc Inc. Systems and methods for developing and using real-time data applications
US9350791B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of injecting states into message routing in a distributed computing environment
US9560170B2 (en) 2014-03-21 2017-01-31 Ptc Inc. System and method of abstracting communication protocol using self-describing messages
US9350812B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of message routing using name-based identifier in a distributed computing environment
US10025942B2 (en) 2014-03-21 2018-07-17 Ptc Inc. System and method of establishing permission for multi-tenancy storage using organization matrices
US9462085B2 (en) 2014-03-21 2016-10-04 Ptc Inc. Chunk-based communication of binary dynamic rest messages
US10313410B2 (en) 2014-03-21 2019-06-04 Ptc Inc. Systems and methods using binary dynamic rest messages
US9467533B2 (en) 2014-03-21 2016-10-11 Ptc Inc. System and method for developing real-time web-service objects
US10031857B2 (en) 2014-05-27 2018-07-24 Mellanox Technologies, Ltd. Address translation services for direct accessing of local memory over a network fabric
US10120832B2 (en) 2014-05-27 2018-11-06 Mellanox Technologies, Ltd. Direct access to local memory in a PCI-E device
US10102232B2 (en) * 2015-05-14 2018-10-16 Ssh Communications Security Oyj Storing structured information
US10762072B2 (en) * 2017-01-30 2020-09-01 International Business Machines Corporation Processing messages of a plurality of devices
US20190286978A1 (en) * 2018-03-14 2019-09-19 Adobe Inc. Using natural language processing and deep learning for mapping any schema data to a hierarchical standard data model (xdm)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001013273A2 (en) * 1999-08-18 2001-02-22 North Carolina State University Systems, methods and computer program products for performing multi-lingual, multi-cultural searches, comparisons, and purchases of products offered for sale at multiple web sites on the internet
US20020156788A1 (en) * 2001-04-20 2002-10-24 Jia-Sheng Heh Method of constructing, editing, indexing, and matching up with information on the interner for a knowledge map
US6493706B1 (en) * 1999-10-26 2002-12-10 Cisco Technology, Inc. Arrangement for enhancing weighted element searches in dynamically balanced trees
US20030204497A1 (en) * 2002-04-29 2003-10-30 Vasiliki Kalogeraki Search network for searching services on the internet
US6704729B1 (en) * 2000-05-19 2004-03-09 Microsoft Corporation Retrieval of relevant information categories
RU2240596C2 (ru) * 2002-04-29 2004-11-20 Изотов Александр Валерьевич Система предоставления данных и сервер для хранения и предоставления данных
US6877148B1 (en) * 2002-04-07 2005-04-05 Barcelona Design, Inc. Method and apparatus for routing an integrated circuit
US6917983B1 (en) * 1999-07-28 2005-07-12 Nortel Networks Ltd Reverse path forwarding using a multicast routing table

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944654B1 (en) * 1999-11-01 2005-09-13 Emc Corporation Multiple storage array control
US20020116371A1 (en) * 1999-12-06 2002-08-22 David Dodds System and method for the storage, indexing and retrieval of XML documents using relation databases
US20030154197A1 (en) 2002-02-13 2003-08-14 Permutta Technologies Flexible relational data storage method and apparatus
US7444355B1 (en) * 2003-09-30 2008-10-28 Emc Corporation System and method for assigning management responsibility for manageable entities
US8266237B2 (en) * 2005-04-20 2012-09-11 Microsoft Corporation Systems and methods for providing distributed, decentralized data storage and retrieval

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6917983B1 (en) * 1999-07-28 2005-07-12 Nortel Networks Ltd Reverse path forwarding using a multicast routing table
WO2001013273A2 (en) * 1999-08-18 2001-02-22 North Carolina State University Systems, methods and computer program products for performing multi-lingual, multi-cultural searches, comparisons, and purchases of products offered for sale at multiple web sites on the internet
US6493706B1 (en) * 1999-10-26 2002-12-10 Cisco Technology, Inc. Arrangement for enhancing weighted element searches in dynamically balanced trees
US6704729B1 (en) * 2000-05-19 2004-03-09 Microsoft Corporation Retrieval of relevant information categories
US20020156788A1 (en) * 2001-04-20 2002-10-24 Jia-Sheng Heh Method of constructing, editing, indexing, and matching up with information on the interner for a knowledge map
US6877148B1 (en) * 2002-04-07 2005-04-05 Barcelona Design, Inc. Method and apparatus for routing an integrated circuit
US20030204497A1 (en) * 2002-04-29 2003-10-30 Vasiliki Kalogeraki Search network for searching services on the internet
RU2240596C2 (ru) * 2002-04-29 2004-11-20 Изотов Александр Валерьевич Система предоставления данных и сервер для хранения и предоставления данных

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103180850A (zh) * 2011-03-23 2013-06-26 株式会社日立制作所 计算机系统和使用了计算机系统的信息提示方法
CN103180850B (zh) * 2011-03-23 2016-06-08 株式会社日立制作所 计算机系统和使用了计算机系统的信息提示方法

Also Published As

Publication number Publication date
US8156117B2 (en) 2012-04-10
US20100223262A1 (en) 2010-09-02

Similar Documents

Publication Publication Date Title
WO2009031915A1 (fr) Système et procédés de stockage, de recherche et d&#39;extraction des informations sur la base d&#39;ensembles de données faiblement organisés et décentralisés
CN100530185C (zh) 基于网络行为的个性化推荐方法和系统
US20100106713A1 (en) Method for performing efficient similarity search
US20160055191A1 (en) Executing constant time relational queries against structured and semi-structured data
US7308436B2 (en) Distributed data mining and compression method and system
US8938456B2 (en) Data recovery system and method in a resource description framework environment
US20050203943A1 (en) Personalized classification for browsing documents
CN107247778A (zh) 用于实施可扩展数据存储服务的系统和方法
US20040015486A1 (en) System and method for storing and retrieving data
CN108509543B (zh) 一种基于Spark Streaming的流式RDF数据多关键词并行搜索方法
CN102893281A (zh) 信息搜索设备、信息搜索方法、计算机程序和数据结构
CN105956123A (zh) 基于局部更新软件的数据处理方法及装置
CN103177094A (zh) 一种物联网数据清洗方法
Wardani et al. Semantic mapping relational to graph model
CN101996257A (zh) 可重构路由交换平台构件的检索方法
CN1271812C (zh) 无线设备同步系统及方法
Álvarez-García et al. Compact and efficient representation of general graph databases
US20140289182A1 (en) System and method for a neural metadata framework
US20230071102A1 (en) Machine Learned Chart Recommendation System
CN113360496B (zh) 一种构建元数据标签库的方法及装置
Marinković et al. A distributed catalog for digitized cultural heritage
Chazapis et al. Replica-aware, multi-dimensional range queries in distributed hash tables
Glaser et al. CS AKTiveSpace: Building a semantic web application
Gemmell et al. A fast effective multi-channeled tag recommender
Moudani et al. An intelligent approach to improve the performance of a data warehouse cache based on association rules

Legal Events

Date Code Title Description
DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07870615

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12676216

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 07870615

Country of ref document: EP

Kind code of ref document: A1