我要解决一个理论上的问题。
我有一个可以在本地文件系统上引用文件的系统。然后,它可以解析这些文件并从中收集一些数据。该文件必须已经存在,即使它为空。每次系统启动时,系统都会重新打开文件,届时它将在文件中看到添加的值。
我需要此文件中的数据不同,具体取决于谁打开它。使用该系统的每个人都将打开相同的文件。行级黑客可能会起作用,其中文件的每次打开都充当附加项,并且每个条目都使用一些标识密钥对其自身进行标记...类似这样:
abc123 | hello | world
xyz987 | goodbye | earth
...可以确定,其中abc123
和xyz987
是用于提供行级安全性的行上的锁。
因此,打开文件的行为决定了要放入/从文件中返回什么数据。
内容将由某些外部服务(REST,RPC等)确定。
因此,open file => call some service which returns data => data gets put into file => return file handle
。实际上,将数据放入文件是可选的,只要下游可以访问数据即可。
我怀疑这需要在操作系统级别进行更改,因此read a file
进程实际上是一个执行过程,然后是一个打开过程。该文件然后可以是一个可执行的Shell脚本,恰好名为file.json
。当read the file
发生时,它可以执行脚本,该脚本将自身转换为JSON响应。然后,当文件关闭时,它再次将自身塞入魔术壳脚本中。
类似地,使file.json
为符号链接,该符号链接指向json文件或shell脚本,并且open知道将链接设置为一个以便执行,然后将其设置为另一个以打开
是否已经存在这样的东西?有没有更好,更简单,更高层次的方法?如果重要的话,这是在Linux系统(Ubuntu)上。我预想它可能会演变为一个单独的版本,并在操作系统级别添加了这个骇人的开放技巧,但我希望它更简单。语言对任何事物都是开放的。
注意:如果文件是Web终结点,那么这很简单。让http://example.com/path/to/file.json完成所有这些工作很容易。问题是,它需要在文件系统级别完成,大概是由操作系统本身完成的,就像您执行File > Open
一样。