Hi,
Am 19.10.2012 15:27, schrieb Carl Bourne:
> Hi,
>
> I have a Couch Database that contains a stack of IP address documents like
> this:
>
> {
> "_id": "09eea172ea6537ad0bf58c92e5002199",
> "_rev": "1-67ad27f5ab008ad9644ce8ae003b1ec5",
> "1stOctet": "10",
> "2ndOctet": "60",
> "3rdOctet": "129",
> "4thOctet": "161"
> }
>
> The documents consist of multiple IP that are part of different subnet
> ranges.
>
> I need a way to reduce/group these documents based on the 1st, 2nd, 3rd and
> 4th Octets in order to produce a reduced list of subnets.
>
> Has anybody done anything like this before.
some time ago, I played with a proof of conecpt for an IP
presentation/management tool based on couchdb. My first steps:
- Put IP-Networks in CDIR format (e.g. 192.1.2.3/24) into
a string per document
- map function with following key-format for correct sorting:
[IP-Version, CDIR, expanded-IP]
e.g. [4, 24, 192.001.002.003]
client-side I converted IP addresses into bigInt... to be able to
calculate IP addresses/networks. The output was a hierarchical tree of
networks and sub-(sub-)networks.
Best regards,
Peter.